00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef OW_FTABLE_REF_HPP_
00031 #define OW_FTABLE_REF_HPP_
00032
00033 #include "OW_config.h"
00034 #include "OW_CIMOMHandleIFC.hpp"
00035 #include "OW_CIMDataType.hpp"
00036 #include "OW_CIMProperty.hpp"
00037 #include "OW_String.hpp"
00038 #include "OW_CIMValue.hpp"
00039 #include "OW_CIMClass.hpp"
00040 #include "OW_CIMInstance.hpp"
00041 #include "OW_CIMObjectPath.hpp"
00042 #include "OW_CIMParameter.hpp"
00043 #include "OW_Array.hpp"
00044 #include "OW_CIMBase.hpp"
00045 #include "OW_ProviderEnvironmentIFC.hpp"
00046 #include "OW_SharedLibraryReference.hpp"
00047 #include "OW_Reference.hpp"
00048 #include "npi.h"
00049
00050 namespace OW_NAMESPACE
00051 {
00052
00053 typedef Array<char *> charVect;
00054 typedef enum {
00055 NOTHING,
00056 STRING,
00057 VECTOR,
00058 CIM_VALUE,
00059 CIM_QUALIFIER,
00060 CIM_PARAMVALUE,
00061 CIM_PROPERTY,
00062 CIM_INSTANCE,
00063 CIM_OBJECTPATH,
00064 CIM_CLASS
00065 } NPIGarbageType;
00066
00067
00068 class NPIContext {
00069 public:
00070 char * scriptName;
00071 void * my_perl;
00072 Array<void *> garbage;
00073 Array<NPIGarbageType> garbageType;
00074 };
00075
00076
00077
00078 class NPIFTABLE {
00079 public:
00080
00081 FP_INITIALIZE fp_initialize;
00082 FP_CLEANUP fp_cleanup;
00083
00084 FP_ENUMINSTANCENAMES fp_enumInstanceNames;
00085 FP_ENUMINSTANCES fp_enumInstances;
00086 FP_GETINSTANCE fp_getInstance;
00087 FP_CREATEINSTANCE fp_createInstance;
00088 FP_SETINSTANCE fp_setInstance;
00089 FP_DELETEINSTANCE fp_deleteInstance;
00090 FP_EXECQUERY fp_execQuery;
00091
00092 FP_ASSOCIATORS fp_associators;
00093 FP_ASSOCIATORNAMES fp_associatorNames;
00094 FP_REFERENCES fp_references;
00095 FP_REFERENCENAMES fp_referenceNames;
00096
00097 FP_INVOKEMETHOD fp_invokeMethod;
00098
00099 FP_AUTHORIZEFILTER fp_authorizeFilter;
00100 FP_MUSTPOLL fp_mustPoll;
00101 FP_ACTIVATEFILTER fp_activateFilter;
00102 FP_DEACTIVATEFILTER fp_deActivateFilter;
00103 NPIContext * npicontext;
00104
00105 NPIFTABLE& operator = (const ::FTABLE& original)
00106 {
00107 memcpy(this, &original, sizeof(::FTABLE));
00108 return *this;
00109 }
00110 };
00111 typedef ::FTABLE (*FP_INIT_FT) ();
00112 typedef NPIFTABLE (*NPIFP_INIT_FT) ();
00113 typedef SharedLibraryReference< Reference<NPIFTABLE> > FTABLERef;
00114
00115 }
00116
00117 #endif