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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2