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 
00035 #ifndef OW_SHAREDLIBRARYREPOSITORY_HPP_INCLUDE_GUARD_
00036 #define OW_SHAREDLIBRARYREPOSITORY_HPP_INCLUDE_GUARD_
00037 #include "OW_config.h"
00038 #include "OW_RepositoryIFC.hpp"
00039 
00040 namespace OW_NAMESPACE
00041 {
00042 
00043 class OW_CIMOMCOMMON_API SharedLibraryRepository : public RepositoryIFC
00044 {
00045 public:
00046    SharedLibraryRepository(SharedLibraryRepositoryIFCRef ref);
00047    ~SharedLibraryRepository();
00048    virtual void close();
00049    virtual String getName() const;
00050    virtual StringArray getDependencies() const;
00051    virtual void init(const ServiceEnvironmentIFCRef& env);
00052    virtual void initialized();
00053    virtual void start();
00054    virtual void started();
00055    virtual void shutdown();
00056    virtual void shuttingDown();
00057    virtual void open(const String &path);
00058    virtual ServiceEnvironmentIFCRef getEnvironment() const;
00059 #if !defined(OW_DISABLE_INSTANCE_MANIPULATION) && !defined(OW_DISABLE_NAMESPACE_MANIPULATION)
00060    virtual void createNameSpace(const String& ns,
00061       OperationContext& context);
00062    virtual void deleteNameSpace(const String& ns,
00063       OperationContext& context);
00064 #endif // #ifndef OW_DISABLE_INSTANCE_MANIPULATION
00065    virtual void enumNameSpace(StringResultHandlerIFC& result,
00066       OperationContext& context);
00067    virtual CIMQualifierType getQualifierType(
00068       const String& ns,
00069       const String& qualifierName, OperationContext& context);
00070 #ifndef OW_DISABLE_QUALIFIER_DECLARATION
00071    virtual void enumQualifierTypes(
00072       const String& ns,
00073       CIMQualifierTypeResultHandlerIFC& result, OperationContext& context);
00074    virtual void deleteQualifierType(const String& ns, const String& qualName,
00075       OperationContext& context);
00076    virtual void setQualifierType(const String& ns,
00077       const CIMQualifierType &qt, OperationContext& context);
00078 #endif // #ifndef OW_DISABLE_QUALIFIER_DECLARATION
00079    virtual CIMClass getClass(
00080       const String& ns,
00081       const String& className,
00082       WBEMFlags::ELocalOnlyFlag localOnly, WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00083       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin, const StringArray *propertyList,
00084       OperationContext& context);
00085 #ifndef OW_DISABLE_INSTANCE_MANIPULATION
00086    virtual CIMObjectPath createInstance(const String& ns, const CIMInstance &ci,
00087       OperationContext& context);
00088    virtual CIMInstance modifyInstance(
00089       const String& ns,
00090       const CIMInstance& modifiedInstance,
00091       WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00092       const StringArray* propertyList,
00093       OperationContext& context);
00094 #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00095    virtual void setProperty(
00096       const String& ns,
00097       const CIMObjectPath &name,
00098       const String &propertyName, const CIMValue &cv,
00099       OperationContext& context);
00100 #endif // #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00101    virtual CIMInstance deleteInstance(const String& ns, const CIMObjectPath &cop,
00102       OperationContext& context);
00103 #endif // #ifndef OW_DISABLE_INSTANCE_MANIPULATION
00104    virtual void enumInstances(
00105       const String& ns,
00106       const String& className,
00107       CIMInstanceResultHandlerIFC& result,
00108       WBEMFlags::EDeepFlag deep, WBEMFlags::ELocalOnlyFlag localOnly,
00109       WBEMFlags::EIncludeQualifiersFlag includeQualifiers, WBEMFlags::EIncludeClassOriginFlag includeClassOrigin,
00110       const StringArray *propertyList,
00111       WBEMFlags::EEnumSubclassesFlag enumSubclasses,
00112       OperationContext& context);
00113 #ifndef OW_DISABLE_SCHEMA_MANIPULATION
00114    virtual void createClass(const String& ns,
00115       const CIMClass &cimClass, OperationContext& context);
00116    virtual CIMClass modifyClass(const String &ns,
00117       const CIMClass &cc, OperationContext& context);
00118    virtual CIMClass deleteClass(const String& ns, const String& className,
00119       OperationContext& context);
00120 #endif
00121    virtual void enumClasses(const String& ns,
00122       const String& className,
00123       CIMClassResultHandlerIFC& result,
00124       WBEMFlags::EDeepFlag deep, WBEMFlags::ELocalOnlyFlag localOnly, WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00125       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin, OperationContext& context);
00126    virtual void enumClassNames(
00127       const String& ns,
00128       const String& className,
00129       StringResultHandlerIFC& result,
00130       WBEMFlags::EDeepFlag deep, OperationContext& context);
00131    virtual CIMValue invokeMethod(
00132       const String& ns,
00133       const CIMObjectPath& path,
00134       const String &methodName, const CIMParamValueArray &inParams,
00135       CIMParamValueArray &outParams, OperationContext& context);
00136    virtual void enumInstanceNames(
00137       const String& ns,
00138       const String& className,
00139       CIMObjectPathResultHandlerIFC& result,
00140       WBEMFlags::EDeepFlag deep, OperationContext& context);
00141    virtual CIMInstance getInstance(
00142       const String& ns,
00143       const CIMObjectPath& instanceName,
00144       WBEMFlags::ELocalOnlyFlag localOnly, WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00145       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin, const StringArray *propertyList,
00146       OperationContext& context);
00147 #ifndef OW_DISABLE_ASSOCIATION_TRAVERSAL
00148    virtual void references(
00149       const String& ns,
00150       const CIMObjectPath &path,
00151       CIMInstanceResultHandlerIFC& result,
00152       const String &resultClass, const String &role,
00153       WBEMFlags::EIncludeQualifiersFlag includeQualifiers, WBEMFlags::EIncludeClassOriginFlag includeClassOrigin,
00154       const StringArray *propertyList, OperationContext& context);
00155    virtual void referencesClasses(
00156       const String& ns,
00157       const CIMObjectPath &path,
00158       CIMClassResultHandlerIFC& result,
00159       const String &resultClass, const String &role,
00160       WBEMFlags::EIncludeQualifiersFlag includeQualifiers, WBEMFlags::EIncludeClassOriginFlag includeClassOrigin,
00161       const StringArray *propertyList, OperationContext& context);
00162 #endif
00163 #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00164    virtual CIMValue getProperty(
00165       const String& ns,
00166       const CIMObjectPath &name,
00167       const String &propertyName, OperationContext& context);
00168 #endif // #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00169 #ifndef OW_DISABLE_ASSOCIATION_TRAVERSAL
00170    virtual void associatorNames(
00171       const String& ns,
00172       const CIMObjectPath &path,
00173       CIMObjectPathResultHandlerIFC& result,
00174       const String &assocClass,
00175       const String &resultClass, const String &role,
00176       const String &resultRole, OperationContext& context);
00177    virtual void associators(
00178       const String& ns,
00179       const CIMObjectPath &path,
00180       CIMInstanceResultHandlerIFC& result,
00181       const String &assocClass, const String &resultClass,
00182       const String &role, const String &resultRole,
00183       WBEMFlags::EIncludeQualifiersFlag includeQualifiers, WBEMFlags::EIncludeClassOriginFlag includeClassOrigin,
00184       const StringArray *propertyList, OperationContext& context);
00185    virtual void associatorsClasses(
00186       const String& ns,
00187       const CIMObjectPath &path,
00188       CIMClassResultHandlerIFC& result,
00189       const String &assocClass, const String &resultClass,
00190       const String &role, const String &resultRole,
00191       WBEMFlags::EIncludeQualifiersFlag includeQualifiers, WBEMFlags::EIncludeClassOriginFlag includeClassOrigin,
00192       const StringArray *propertyList, OperationContext& context);
00193    virtual void referenceNames(
00194       const String& ns,
00195       const CIMObjectPath &path,
00196       CIMObjectPathResultHandlerIFC& result,
00197       const String &resultClass,
00198       const String &role, OperationContext& context);
00199 #endif // #ifndef OW_DISABLE_ASSOCIATION_TRAVERSAL
00200    virtual void execQuery(
00201       const String& ns,
00202       CIMInstanceResultHandlerIFC& result,
00203       const String &query, const String &queryLanguage,
00204       OperationContext& context);
00205    
00206    virtual void beginOperation(WBEMFlags::EOperationFlag op, OperationContext& context);
00207    virtual void endOperation(WBEMFlags::EOperationFlag op, OperationContext& context, WBEMFlags::EOperationResultFlag result);
00208 private:
00209    SharedLibraryRepositoryIFCRef m_ref;
00210 };
00211 
00212 } 
00213 
00214 #endif