Free Electron
OperatorContext.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 __meta_OperatorContext_h__
8 #define __meta_OperatorContext_h__
9 
10 namespace fe
11 {
12 namespace ext
13 {
14 
15 /**************************************************************************//**
16  @brief shared FE context for Operator plugins
17 
18  @ingroup meta
19 
20  TODO shouldn't this be Counted?
21 
22 *//***************************************************************************/
23 class FE_DL_EXPORT OperatorContext
24 {
25  public:
26  OperatorContext(void);
27 virtual ~OperatorContext(void);
28 
29  sp<Master> master(void);
30  sp<Scope> scope(void);
31 
32  BWORD loadLibraries(void);
33 
34 virtual void libraryLoaded(String a_libraryName) {}
35 
36  protected:
37  String m_libEnvVar;
38  String m_libDefault;
39 
40  private:
41 
42 static FE_DL_PUBLIC BWORD ms_logged;
43 static FE_DL_PUBLIC BWORD ms_loaded;
44 static FE_DL_PUBLIC BWORD ms_registered;
45 static FE_DL_PUBLIC sp<Master> ms_spMaster;
46  sp<Master> m_spMasterHold;
47  sp<Scope> m_spScope;
48 };
49 
50 } /* namespace ext */
51 } /* namespace fe */
52 
53 #endif /* __meta_OperatorContext_h__ */
kernel
Definition: namespace.dox:3
Automatically reference-counted string container.
Definition: String.h:128
Intrusive Smart Pointer.
Definition: src/core/ptr.h:53
shared FE context for Operator plugins
Definition: OperatorContext.h:23