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

  1 martin 1.14 //%LICENSE////////////////////////////////////////////////////////////////
  2 martin 1.15 //
  3 martin 1.14 // Licensed to The Open Group (TOG) under one or more contributor license
  4             // agreements.  Refer to the OpenPegasusNOTICE.txt file distributed with
  5             // this work for additional information regarding copyright ownership.
  6             // Each contributor licenses this file to you under the OpenPegasus Open
  7             // Source License; you may not use this file except in compliance with the
  8             // License.
  9 martin 1.15 //
 10 martin 1.14 // Permission is hereby granted, free of charge, to any person obtaining a
 11             // copy of this software and associated documentation files (the "Software"),
 12             // to deal in the Software without restriction, including without limitation
 13             // the rights to use, copy, modify, merge, publish, distribute, sublicense,
 14             // and/or sell copies of the Software, and to permit persons to whom the
 15             // Software is furnished to do so, subject to the following conditions:
 16 martin 1.15 //
 17 martin 1.14 // The above copyright notice and this permission notice shall be included
 18             // in all copies or substantial portions of the Software.
 19 martin 1.15 //
 20 martin 1.14 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 21 martin 1.15 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 22 martin 1.14 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 23             // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
 24             // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
 25             // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 26             // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 27 martin 1.15 //
 28 martin 1.14 //////////////////////////////////////////////////////////////////////////
 29 mike   1.2  //
 30             //%/////////////////////////////////////////////////////////////////////////////
 31             
 32             #ifndef PegasusHandler_Handler_h
 33             #define PegasusHandler_Handler_h
 34             
 35             #include <Pegasus/Common/Config.h>
 36             #include <Pegasus/Common/CIMObject.h>
 37 kumpf  1.16 #include <Pegasus/Common/ContentLanguageList.h>
 38 mike   1.2  #include <Pegasus/Repository/CIMRepository.h>
 39 kumpf  1.6  #include <Pegasus/Common/OperationContext.h>
 40 kumpf  1.4  #include <Pegasus/Handler/Linkage.h>
 41 mike   1.2  
 42             PEGASUS_NAMESPACE_BEGIN
 43             
 44 venkat.puvvada 1.17 /**
 45                      * Indication export connection interface for the handlers.
 46                      */
 47                     
 48                     class PEGASUS_HANDLER_LINKAGE IndicationExportConnection
 49                     {
 50                     public:
 51                         IndicationExportConnection() { };
 52                     
 53                         virtual ~IndicationExportConnection() { };
 54                     };
 55                     
 56 mike           1.2  class PEGASUS_HANDLER_LINKAGE CIMHandler
 57                     {
 58                     public:
 59                     
 60                         CIMHandler() { };
 61                     
 62                         virtual ~CIMHandler() { };
 63                     
 64                         // Abstract method which each and every handler needs to be implemented.
 65 kumpf          1.16     // Indication processing will instantiate IndicationDispatcher which
 66                         // will look into Handler Table to load the appropriate handler. If
 67 mike           1.2      // handler is already loaded then IndicationDispatcher will call this
 68                         // method implemented in handler.
 69 kumpf          1.13     virtual void handleIndication(
 70                             const OperationContext& context,
 71                             const String nameSpace,
 72 yi.zhou        1.10         CIMInstance& indicationInstance,
 73 mike           1.2          CIMInstance& indicationHandlerInstance,
 74 kumpf          1.13         CIMInstance& indicationSubscriptionInstance,
 75                             ContentLanguageList& contentLanguages) = 0;
 76 kumpf          1.16 
 77 venkat.puvvada 1.17     // IndicationExportConnection object is returned if requested incase of
 78                         // successful indication delivery. Connection object SHOULD not be
 79                         // returned incase of delivery failure.
 80                         virtual void handleIndication(
 81                             const OperationContext& context,
 82 dl.meetei      1.18         const String &nameSpace,
 83 venkat.puvvada 1.17         CIMInstance& indicationInstance,
 84                             CIMInstance& indicationHandlerInstance,
 85                             CIMInstance& indicationSubscriptionInstance,
 86                             ContentLanguageList& contentLanguages,
 87                             IndicationExportConnection **connection)
 88                         {
 89                             if (connection)
 90                             {
 91                                 *connection = 0;
 92                             }
 93                             handleIndication(
 94                                 context,
 95                                 nameSpace,
 96                                 indicationInstance,
 97                                 indicationHandlerInstance,
 98                                 indicationSubscriptionInstance,
 99                                 contentLanguages);
100                         }
101                     
102 kumpf          1.13     // These are the method to initialize and terminate handler. Actual need
103                         // and implementation way these methods are yet to be finalized.
104 mike           1.2  
105                         virtual void initialize(CIMRepository* repository) = 0;
106                         virtual void terminate() = 0;
107                     };
108                     
109                     PEGASUS_NAMESPACE_END
110                     
111                     #endif /* PegasusHandler_Handler_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2