(file) Return to provreg.h CVS log (file) (dir) Up to [OMI] / omi / provreg

Diff for /omi/provreg/provreg.h between version 1.2 and 1.3

version 1.2, 2015/04/20 18:10:14 version 1.3, 2015/04/20 18:19:56
Line 28 
Line 28 
 #include <common.h> #include <common.h>
 #include <base/stringarray.h> #include <base/stringarray.h>
 #include <base/batch.h> #include <base/batch.h>
   #include <pal/dir.h>
  
 BEGIN_EXTERNC BEGIN_EXTERNC
  
Line 37 
Line 38 
 } }
 ProvInterface; ProvInterface;
  
   typedef enum _ProvRegType
   {
       PROVREG_DEFAULT = 0,
       PROVREG_INDICATION = 1
   } ProvRegType;
   
 typedef enum _ProvHosting typedef enum _ProvHosting
 { {
     PROV_HOSTING_INPROC = 0,     PROV_HOSTING_INPROC = 0,
Line 81 
Line 88 
     const char*     user;     const char*     user;
  
     /* Namespace this provider serves */     /* Namespace this provider serves */
     const MI_Char* nameSpace;      const ZChar* nameSpace;
       unsigned int nameSpaceHash;
  
     /* Class this provider supplies */     /* Class this provider supplies */
     const MI_Char* className;      const ZChar* className;
       unsigned int classNameHash;
  
     /* The name library of the library containing provider */     /* The name library of the library containing provider */
     const char* libraryName;     const char* libraryName;
   
   #if defined(CONFIG_ENABLE_PREEXEC)
   
       /* Name of program to be executed before invoking this provider */
       const char* preexec;
   
   #endif /* defined(CONFIG_ENABLE_PREEXEC) */
   
       /* The type of the registered class */
       ProvRegType regType;
   
       /* 1 if lifetime of instance is that of context,
        * 0 otherwise
        */
       int instanceLifetimeContext;
 } }
 ProvRegEntry; ProvRegEntry;
  
Line 98 
Line 122 
     ProvRegEntry* head;     ProvRegEntry* head;
     ProvRegEntry* tail;     ProvRegEntry* tail;
     struct _ProvRegNamespaceNode* namespaces;     struct _ProvRegNamespaceNode* namespaces;
       struct _ProvRegNamespaceNode* namespacesForExtraClasses;
 } }
 ProvReg; ProvReg;
  
   /* Initialize ProvReg strucutre from given directory */
   MI_Result ProvReg_Init(
       _Inout_ ProvReg* self,
       _In_z_ const char* directory);
  
   /* Initialize ProvReg strucutre from omiregister directory */
 MI_Result ProvReg_Init2( MI_Result ProvReg_Init2(
     ProvReg* self);      _Inout_ ProvReg* self);
  
 void ProvReg_Destroy( void ProvReg_Destroy(
     ProvReg* self);     ProvReg* self);
  
 const ProvRegEntry* ProvReg_FindProviderForClass( const ProvRegEntry* ProvReg_FindProviderForClass(
     ProvReg* self,     ProvReg* self,
     const MI_Char* nameSpace,      const ZChar* nameSpace,
     const MI_Char* className);      const ZChar* className,
       MI_Result *findError);
  
 /* returns ok or not-found; baseClass will be null if no base class exist */ /* returns ok or not-found; baseClass will be null if no base class exist */
 MI_EXPORT MI_Result ProvReg_GetDirectBaseClass( MI_EXPORT MI_Result ProvReg_GetDirectBaseClass(
     ProvReg* self,     ProvReg* self,
     const MI_Char* nameSpace,      const ZChar* nameSpace,
     const MI_Char* className,      const ZChar* className,
     const MI_Char** baseClass);      const ZChar** baseClass,
       MI_Boolean extraClass);
  
 /* enumerates classes derived classes: /* enumerates classes derived classes:
  - if deep == false and className == null, returns all root classes  - if deep == false and className == null, returns all root classes
Line 129 
Line 160 
 */ */
 MI_EXPORT MI_Result ProvReg_BeginClasses( MI_EXPORT MI_Result ProvReg_BeginClasses(
     ProvReg* self,     ProvReg* self,
     const MI_Char* nameSpace,      const ZChar* nameSpace,
     const MI_Char* className,      const ZChar* className,
     MI_Boolean deep,     MI_Boolean deep,
     ProvRegPosition* pos);      ProvRegPosition* pos,
       MI_Boolean extraClass);
  
 MI_EXPORT MI_Result ProvReg_NextClass( MI_EXPORT MI_Result ProvReg_NextClass(
     ProvRegPosition* pos,     ProvRegPosition* pos,
     const MI_Char** className,      const ZChar** className,
     MI_Boolean* done);     MI_Boolean* done);
  
 MI_EXPORT MI_Result ProvReg_EndClasses( MI_EXPORT MI_Result ProvReg_EndClasses(
Line 148 
Line 180 
  */  */
 MI_EXPORT MI_Result ProvReg_BeginAssocClasses( MI_EXPORT MI_Result ProvReg_BeginAssocClasses(
     ProvReg* self,     ProvReg* self,
     const MI_Char* nameSpace,      const ZChar* nameSpace,
     const MI_Char* className,      const ZChar* className,
     const MI_Char* assocClassName,  /* can be NULL */      const ZChar* assocClassName,  /* can be NULL */
     const MI_Char* resultClassName, /* can be NULL */      const ZChar* resultClassName, /* can be NULL */
     ProvRegAssocPosition* pos);     ProvRegAssocPosition* pos);
  
 MI_EXPORT MI_Result ProvReg_NextAssocClass( MI_EXPORT MI_Result ProvReg_NextAssocClass(
     ProvRegAssocPosition* pos,     ProvRegAssocPosition* pos,
     const MI_Char** className,      const ZChar** className,
     MI_Boolean* done);     MI_Boolean* done);
  
 MI_EXPORT MI_Result ProvReg_EndAssocClasses( MI_EXPORT MI_Result ProvReg_EndAssocClasses(
     ProvRegAssocPosition* pos);     ProvRegAssocPosition* pos);
  
   void MapRegPositionValuesToRegEntry(
       ProvRegEntry* reg,
       ProvRegPosition* pos);
   
 void ProvReg_Dump( void ProvReg_Dump(
     ProvReg* self,     ProvReg* self,
     FILE* os);     FILE* os);
  
   /* Find provider registration object for class */
   const ProvRegEntry* ProvReg_FindProviderForClassByType(
       _In_ ProvReg* self,
       _In_z_ const ZChar* nameSpace,
       _In_opt_z_ const ZChar* className,
       _In_ ProvRegType type,
       _Out_ MI_Result *findError);
   
 END_EXTERNC END_EXTERNC
  
 #endif /* _omi_provreg_h */ #endif /* _omi_provreg_h */


Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

ViewCVS 0.9.2