(file) Return to InteropProvider.h CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / ControlProviders / InteropProvider

Diff for /pegasus/src/Pegasus/ControlProviders/InteropProvider/InteropProvider.h between version 1.3 and 1.20.8.1

version 1.3, 2004/01/16 20:32:41 version 1.20.8.1, 2006/02/10 16:11:33
Line 1 
Line 1 
 //%2003////////////////////////////////////////////////////////////////////////  //%2006////////////////////////////////////////////////////////////////////////
 // //
 // Copyright (c) 2000, 2001, 2002  BMC Software, Hewlett-Packard Development  // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
 // Company, L. P., IBM Corp., The Open Group, Tivoli Systems.  // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
 // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L. P.; // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L. P.;
 // IBM Corp.; EMC Corporation, The Open Group. // IBM Corp.; EMC Corporation, The Open Group.
   // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
   // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
   // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
   // EMC Corporation; VERITAS Software Corporation; The Open Group.
   // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
   // EMC Corporation; Symantec Corporation; The Open Group.
 // //
 // Permission is hereby granted, free of charge, to any person obtaining a copy // Permission is hereby granted, free of charge, to any person obtaining a copy
 // of this software and associated documentation files (the "Software"), to // of this software and associated documentation files (the "Software"), to
Line 61 
Line 67 
     The InteropProvider provides information and manipulates the     The InteropProvider provides information and manipulates the
     following classes from the DMTF CIM_Interop schema:     following classes from the DMTF CIM_Interop schema:
     CIM_Namespace - Creation and deletion of namespaces     CIM_Namespace - Creation and deletion of namespaces
       Note: Effective Pegasus 2.4, it processes PG_Namespace
     __Namespace - Creation and deletion of namespaces (deprecated)     __Namespace - Creation and deletion of namespaces (deprecated)
     CIM_ObjectManager - Reports on the status of the object manager     CIM_ObjectManager - Reports on the status of the object manager
     CIM_ObjectManagerCommunicationMechanism - Reports on CIMOM communications     CIM_ObjectManagerCommunicationMechanism - Reports on CIMOM communications
Line 77 
Line 84 
  
     This provider implements the following functions:     This provider implements the following functions:
     - createInstance            ( adds a new namespace to the repository)     - createInstance            ( adds a new namespace to the repository)
     - getInstance               ( Gets one instance containing a namespace name)      - getInstance               ( Gets one instance of any supported object)
     - modifyInstance            ( Not supported )      - modifyInstance            ( Limited Support - selected fields in CIM_Namespace)
     - enumerateInstances        ( Lists all namespaces as Instances)      - enumerateInstances        ( Lists all namespaces of all supported classes)
     - enumerateInstanceNames    ( Lists all namespace names )      - enumerateInstanceNames    ( Lists all namespace names of all supported classes )
       - reference and associations
     TBD     TBD
 */ */
  
Line 89 
Line 97 
 { {
 public: public:
  
     InteropProvider(CIMRepository* repository)      InteropProvider(CIMRepository* repository);
     {  
         PEG_METHOD_ENTER(TRC_CONTROLPROVIDER,"InteropProvider::InteropProvider");  
         _repository = repository;  
         PEG_METHOD_EXIT();  
     }  
   
     virtual ~InteropProvider()     virtual ~InteropProvider()
     {     {
         PEG_METHOD_ENTER(TRC_CONTROLPROVIDER,"InteropProvider::~InteropProvider");         PEG_METHOD_ENTER(TRC_CONTROLPROVIDER,"InteropProvider::~InteropProvider");
Line 128 
Line 130 
         const CIMInstance& modifiedIns,         const CIMInstance& modifiedIns,
         const Boolean includeQualifiers,         const Boolean includeQualifiers,
         const CIMPropertyList& propertyList,         const CIMPropertyList& propertyList,
         ResponseHandler & handler)          ResponseHandler & handler);
     {  
         throw PEGASUS_CIM_EXCEPTION(CIM_ERR_NOT_SUPPORTED, "");  
     }  
  
     virtual void enumerateInstances(     virtual void enumerateInstances(
         const OperationContext & context,         const OperationContext & context,
Line 196 
Line 195 
  
     void terminate(void)     void terminate(void)
     {     {
           // delete self. this is necessary because the entry point for this object allocated it, and
           // the module is responsible for its memory management.
           delete this;
     }     }
  
 private: private:
  
     CIMObjectPath InteropProvider::_buildInstancePath(const CIMNamespaceName& name,      CIMInstance _buildInstanceSkeleton(
                               const CIMName className,          const CIMObjectPath & objectPath,
           const CIMName& className,
           CIMClass& returnedClass);
   
       CIMObjectPath _buildObjectPath(
           const CIMObjectPath& objectPath,
           const CIMName& className,
           const CIMInstance& instance);
       CIMObjectPath _buildInstancePath(
           const CIMObjectPath& objectPath,
           const CIMName& className,
                               const CIMInstance& instance);                               const CIMInstance& instance);
  
     CIMClass _getClass(const CIMNamespaceName& nameSpace, const CIMName& className);      CIMClass _getClass(const CIMObjectPath& objectPath,
           const CIMName& className);
  
     Array<CIMNamespaceName> _enumerateNameSpaces();     Array<CIMNamespaceName> _enumerateNameSpaces();
  
     CIMInstance _buildInstanceCIMObjectManager();      CIMInstance _buildInstancePGCIMXMLCommunicationMechanism(
           const CIMObjectPath& objectPath,
           const String& namespaceType,
           const Uint16& accessProtocol,
           const String& IPAddress);
   
       Array<CIMInstance> _buildInstancesPGCIMXMLCommunicationMechanism(
           const CIMObjectPath& objectPath);
   
       CIMInstance _getInstanceCIMObjectManager(
           const CIMObjectPath& objectPath,
           const Boolean includeQualifiers,
           const Boolean includeClassOrigin,
           const CIMPropertyList& propertyList);
   
       String _getObjectManagerName();
   
       Array<CIMInstance> _getInstancesCIMNamespace(
           const CIMObjectPath& objectPath);
   
       CIMInstance _getInstanceCIMNamespace(
           const CIMObjectPath& objectPath);
     //     //
       CIMInstance _buildInstancePGNamespace(
           const CIMObjectPath& objectPath,
                   CIMNamespaceName& nameSpace);
   
       Array<CIMInstance> _buildInstancesNamespaceInManager(
           const CIMObjectPath& objectPath);
   
       Array<CIMInstance> _buildInstancesCommMechanismForManager(
           const CIMObjectPath& objectPath);
   
       Boolean _getInstanceFromRepositoryCIMObjectManager(
           const CIMObjectPath& objectPath,
           CIMInstance& rtnInstance,
           const Boolean includeQualifiers,
           const Boolean includeClassOrigin,
           const CIMPropertyList& propertyList);
   
       Boolean isModifyAllowed(const OperationContext & context,
           const CIMObjectPath & instanceReference,
           const CIMInstance& modifiedIns,
           const Boolean includeQualifiers,
           const CIMPropertyList& propertyList,
           const CIMPropertyList& allowedModifyProperties);
   
       void modifyObjectManagerInstance(const OperationContext & context,
           const CIMObjectPath & instanceReference,
           const CIMInstance& modifiedIns,
           const Boolean includeQualifiers,
           const CIMPropertyList& propertyList);
   
       // The following are internal equivalents of the operations
       // allowing the operations to call one another internally within
       // the provider.
       Array<CIMInstance> localEnumerateInstances(
           const OperationContext & context,
           const CIMObjectPath & ref,
           const Boolean includeQualifiers,
           const Boolean includeClassOrigin,
           const CIMPropertyList& propertyList);
   
       Array<CIMObject> localReferences(
           const OperationContext & context,
           const CIMObjectPath & objectName,
           const CIMName & resultClass,
           const String & role,
           const Boolean includeQualifiers,
           const Boolean includeClassOrigin,
           const CIMPropertyList & propertyList);
   
       CIMInstance localGetInstance(
           const OperationContext & context,
           const CIMObjectPath & instanceName,
           const Boolean includeQualifiers,
           const Boolean includeClassOrigin,
           const CIMPropertyList & propertyList);
   
     // Repository Instance variable     // Repository Instance variable
     //  
        CIMRepository*   _repository;        CIMRepository*   _repository;
        CIMClass * _cimNamespaceClass;         // local save for name of object manager
        CIMNamespaceName _operationNamespace;         String _objectManagerName;
        CIMInstance instanceOfCIMObjectManager;  
 }; };
  
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END


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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2