Free Electron
SingleMaster.h
Go to the documentation of this file.
1 /** @file */
2 
3 #ifndef __plugin_SingleMaster_h__
4 #define __plugin_SingleMaster_h__
5 
6 namespace fe
7 {
8 
9 /**************************************************************************//**
10  @brief Point of Entry for Development
11 
12  @ingroup plugin
13 *//***************************************************************************/
14 class FE_DL_PUBLIC FE_PLUGIN_PORT SingleMaster:
15  public Handled<SingleMaster>,
16  public CastableAs<SingleMaster>
17 {
18  public:
19  SingleMaster(void);
20 virtual ~SingleMaster(void);
21 
22  sp<Master> master(void);
23 
24  /// @internal
25 virtual void release(void);
26 
27 static sp<SingleMaster> FE_CDECL create(void);
28 
29 static sp<SingleMaster> FE_CDECL existing(void)
30  { return ms_spSingleMaster; }
31 
32 static void usePrefix(String a_prefix);
33 
34  protected:
35 
36 static FE_DL_PUBLIC BWORD ms_registered;
37 static FE_DL_PUBLIC sp<SingleMaster> ms_spSingleMaster;
38 
39  private:
40 
41  sp<Master> m_spMaster;
42 };
43 
44 } /* namespace fe */
45 
46 #endif /* __plugin_SingleMaster_h__ */
kernel
Definition: namespace.dox:3
Point of Entry for Development.
Definition: SingleMaster.h:14
Automatically reference-counted string container.
Definition: String.h:128
Intrusive Smart Pointer.
Definition: src/core/ptr.h:53
Base class providing an fe::Handle to the derived class.
Definition: Handled.h:209
Per-class participation non-RTTI fallback dynamic casting mechanism.
Definition: Castable.h:192