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

  1 kumpf 1.1 //%///-*-c++-*-/////////////////////////////////////////////////////////////////
  2           //
  3           // Copyright (c) 2000, 2001 BMC Software, Hewlett-Packard Company, IBM, 
  4           // The Open Group, Tivoli Systems 
  5           //
  6           // Permission is hereby granted, free of charge, to any person obtaining a copy
  7           // of this software and associated documentation files (the "Software"), to
  8           // deal in the Software without restriction, including without limitation the
  9           // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
 10           // sell copies of the Software, and to permit persons to whom the Software is
 11           // furnished to do so, subject to the following conditions:
 12           //
 13           // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
 14           // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
 15           // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
 16           // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
 17           // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 18           // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 19           // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 20           // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 21           //
 22 kumpf 1.1 //==============================================================================
 23           //
 24           // Author: Nitin Upasani, Hewlett-Packard Company (Nitin_Upasani@hp.com)
 25           //
 26           // Modified By:
 27           //
 28           //%/////////////////////////////////////////////////////////////////////////////
 29           
 30           
 31 kumpf 1.3 #ifndef Pegasus_IndicationHandlerService_h
 32           #define Pegasus_IndicationHandlerService_h
 33 kumpf 1.1 
 34           #include <Pegasus/Common/Config.h>
 35           #include <sys/types.h>
 36           #if defined(PEGASUS_PLATFORM_WIN32_IX86_MSVC)
 37           #else
 38           #include <unistd.h>
 39           #endif 
 40           #include <cassert>
 41           #include <iostream>
 42           #include <stdio.h>
 43           #include <string.h>
 44           
 45           #include <Pegasus/Common/Config.h>
 46           #include <Pegasus/Common/Exception.h>
 47           #include <Pegasus/Common/DQueue.h>
 48           #include <Pegasus/Common/Thread.h>
 49           #include <Pegasus/Common/Array.h>
 50           #include <Pegasus/Common/AsyncOpNode.h>
 51           #include <Pegasus/Common/CimomMessage.h>
 52           #include <Pegasus/Common/Cimom.h>
 53           #include <Pegasus/Common/MessageQueueService.h>
 54 kumpf 1.1 #include <Pegasus/Common/CIMMessage.h>
 55           #include <Pegasus/Common/XmlWriter.h>
 56           #include <Pegasus/Handler/CIMHandler.h>
 57           #include <Pegasus/Repository/CIMRepository.h>
 58           
 59           #include "HandlerTable.h"
 60           #include "Linkage.h"
 61           
 62           PEGASUS_NAMESPACE_BEGIN
 63           
 64           class PEGASUS_HANDLER_SERVICE_LINKAGE IndicationHandlerService 
 65 mday  1.6    : public MessageQueueService
 66 kumpf 1.1 {
 67 mday  1.6    public:
 68 kumpf 1.1     
 69 mday  1.6       typedef MessageQueueService Base;
 70 kumpf 1.1     
 71 mday  1.6       IndicationHandlerService(CIMRepository* repository);
 72 kumpf 1.3 
 73 mday  1.6       IndicationHandlerService(void);
 74 kumpf 1.3 
 75 mday  1.6       ~IndicationHandlerService(void) { } ;
 76 kumpf 1.1       
 77 mday  1.6       virtual void _handle_async_request(AsyncRequest *req);
 78 kumpf 1.3 
 79 mday  1.6       virtual void handleEnqueue(Message *);
 80 kumpf 1.4 
 81 mday  1.6       virtual void handleEnqueue(void);
 82 kumpf 1.4 
 83 mday  1.6       virtual const char* getQueueName() const;
 84 mday  1.8       static void _handleIndicationCallBack(AsyncOpNode *, 
 85           					    MessageQueue *, 
 86           					    void *);
 87                 
 88 mday  1.6       AtomicInt dienow;
 89 kumpf 1.1 
 90 mday  1.6    protected:
 91 kumpf 1.3 
 92 mday  1.6       void _handleIndication(const Message* message);
 93 kumpf 1.1 
 94 mday  1.6       HandlerTable _handlerTable;
 95 kumpf 1.1 
 96 kumpf 1.7       CIMHandler* _lookupHandlerForClass(const String& className);
 97 kumpf 1.1 
 98 mday  1.6    private:
 99                 CIMRepository* _repository;
100 kumpf 1.1 };
101           
102           PEGASUS_NAMESPACE_END
103           
104           #endif

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2