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

  1 karl  1.15 //%2003////////////////////////////////////////////////////////////////////////
  2 kumpf 1.1  //
  3 karl  1.15 // Copyright (c) 2000, 2001, 2002  BMC Software, Hewlett-Packard Development
  4            // Company, L. P., IBM Corp., The Open Group, Tivoli Systems.
  5            // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L. P.;
  6            // IBM Corp.; EMC Corporation, The Open Group.
  7 kumpf 1.1  //
  8            // Permission is hereby granted, free of charge, to any person obtaining a copy
  9            // of this software and associated documentation files (the "Software"), to
 10            // deal in the Software without restriction, including without limitation the
 11            // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
 12            // sell copies of the Software, and to permit persons to whom the Software is
 13            // furnished to do so, subject to the following conditions:
 14 kumpf 1.10 // 
 15 kumpf 1.1  // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
 16            // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
 17            // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
 18            // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
 19            // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 20            // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 21            // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 22            // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 23            //
 24            //==============================================================================
 25            //
 26            // Author: Nag Boranna, Hewlett-Packard Company (nagaraja_boranna@hp.com)
 27            //
 28 kumpf 1.12 // Modified By: Carol Ann Krug Graves, Hewlett-Packard Company
 29            //                (carolann_graves@hp.com)
 30 a.arora 1.17 //              Amit K Arora, IBM (amita@in.ibm.com) for PEP#101
 31 kumpf   1.1  //
 32              //%/////////////////////////////////////////////////////////////////////////////
 33              
 34              #ifndef Pegasus_CIMOperationRequestAuthorizer_h
 35              #define Pegasus_CIMOperationRequestAuthorizer_h
 36              
 37              #include <Pegasus/Common/Config.h>
 38 mday    1.2  #include <Pegasus/Common/MessageQueueService.h>
 39 kumpf   1.1  #include <Pegasus/Common/CIMMessage.h>
 40 a.arora 1.17 #include <Pegasus/Common/AutoPtr.h>
 41 kumpf   1.11 #include <Pegasus/Server/Linkage.h>
 42 kumpf   1.1  
 43              
 44              PEGASUS_NAMESPACE_BEGIN
 45              
 46              
 47 mday    1.9  class PEGASUS_SERVER_LINKAGE CIMOperationRequestAuthorizer : public MessageQueueService
 48 kumpf   1.1  {
 49 mday    1.2     public:
 50                
 51 mday    1.9        typedef MessageQueueService Base;
 52 mday    1.2  
 53                    CIMOperationRequestAuthorizer(
 54 mday    1.9  	 MessageQueueService* outputQueue);
 55 mday    1.2        
 56                    ~CIMOperationRequestAuthorizer();
 57                    
 58                    void sendResponse(
 59              	 Uint32 queueId,
 60              	 Array<Sint8>& message);
 61              
 62 kumpf   1.5        void sendIMethodError(
 63 mday    1.2  	 Uint32 queueId,
 64 kumpf   1.13          HttpMethod httpMethod,
 65 mday    1.2  	 const String& messageId,
 66 kumpf   1.12 	 const CIMName& methodName,
 67 kumpf   1.6  	 const CIMException& cimException);
 68 mday    1.2  
 69 kumpf   1.14       void sendMethodError(
 70                       Uint32 queueId,
 71                       HttpMethod httpMethod,
 72                       const String& messageId,
 73                       const CIMName& methodName,
 74                       const CIMException& cimException);
 75              
 76 mday    1.3        virtual void handleEnqueue(Message *);
 77              
 78 mday    1.2        virtual void handleEnqueue();
 79              
 80                    /** Sets the flag to indicate whether or not the CIMServer is
 81              	  shutting down.
 82                    */
 83                    void setServerTerminating(Boolean flag);
 84 kumpf   1.1  
 85 mday    1.2     private:
 86 kumpf   1.1  
 87 kumpf   1.16       // Constant defining the user group name separator
 88                    static const char  _GROUPNAME_SEPARATOR;
 89              
 90                    // Get a list of authorized user groups
 91                    Array<String> _getAuthorizedUserGroups();
 92              
 93                    Array<String> _authorizedUserGroups;
 94              
 95 a.arora 1.17       AutoPtr<MessageQueueService> _outputQueue; //PEP101
 96 kumpf   1.1  
 97 mday    1.2        // Flag to indicate whether or not the CIMServer is shutting down.
 98                    Boolean _serverTerminating;
 99 kumpf   1.1  };
100              
101              PEGASUS_NAMESPACE_END
102              
103              #endif /* Pegasus_CIMOperationRequestAuthorizer_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2