Free Electron
GuidePostI.h
Go to the documentation of this file.
1 /* Copyright (C) 2003-2021 Free Electron Organization
2  Any use of this software requires a license. If a valid license
3  was not distributed with this file, visit freeelectron.org. */
4 
5 /** @file */
6 
7 #ifndef __guide_GuidePostI_h__
8 #define __guide_GuidePostI_h__
9 
10 namespace fe
11 {
12 namespace ext
13 {
14 
15 /**************************************************************************//**
16  @brief Make Connections through Beacon
17 
18  @ingroup guide
19 *//***************************************************************************/
20 class FE_DL_EXPORT GuidePostI:
21  virtual public beacon::BeaconClientI,
22  public CastableAs<GuidePostI>
23 {
24  public:
25 
26  /** @brief connect to the Beacon server
27 
28  The configuration string is currently
29  just an IP address, but this may be
30  extended in the future.
31 
32  An empty configuration string will use
33  default settings.
34 
35  Returns FALSE if no connection
36  could be made. */
37 virtual BWORD connect(String a_configuration) =0;
38 
39  /** @brief get the known space names
40 
41  Populates the provided array
42  with space names. */
43 virtual void listSpaces(
44  Array<String>& a_rSpaceList)=0;
45 
46  /** @brief find and connect to space
47 
48  Find a match space in beacon nodes
49  and connect.
50  A StateCatalog of the appropriate
51  implementation is returned.
52  If no such space exists or
53  the connection failed,
54  an invalid reference is returned. */
55 
56 virtual sp<StateCatalog> connectToSpace(String a_space) =0;
57 
58  /** @brief invoke a new named space
59 
60  The newly created catalog is overlayed
61  with values for the provided catalog. */
62 virtual sp<StateCatalog> createSpace(String a_space,
63  sp<Catalog> a_spCatalog)=0;
64 };
65 
66 } /* namespace ext */
67 } /* namespace fe */
68 
69 #endif /* __guide_GuidePostI_h__ */
Client Node interface to Beacon.
Definition: BeaconClientI.h:25
kernel
Definition: namespace.dox:3
Make Connections through Beacon.
Definition: GuidePostI.h:20
Automatically reference-counted string container.
Definition: String.h:128
Wrapper for std::vector.
Definition: Array.h:21
Per-class participation non-RTTI fallback dynamic casting mechanism.
Definition: Castable.h:192