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

  1 karl  1.13 //%2006////////////////////////////////////////////////////////////////////////
  2 kumpf 1.1  //
  3 karl  1.9  // 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.8  // IBM Corp.; EMC Corporation, The Open Group.
  7 karl  1.9  // 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.10 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 10            // EMC Corporation; VERITAS Software Corporation; The Open Group.
 11 karl  1.13 // 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 karl  1.13 // 
 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 tony  1.6  // Author: Dong Xiang, EMC Corporation (xiang_dong@emc.com)
 33 kumpf 1.1  //
 34 david.dillard 1.11 // Modified By: David Dillard, VERITAS Software Corp.
 35                    //                  (david.dillard@veritas.com)
 36 aruran.ms     1.12 //              Aruran, IBM (ashanmug@in.ibm.com) for Bug# 3604
 37 kumpf         1.1  //
 38                    //%/////////////////////////////////////////////////////////////////////////////
 39                    
 40                    #ifndef Pegasus_Listener_h
 41                    #define Pegasus_Listener_h
 42                    
 43                    #include <Pegasus/Common/Config.h>
 44 chuck         1.3  #include <Pegasus/Listener/Linkage.h>
 45 kumpf         1.1  
 46                    PEGASUS_NAMESPACE_BEGIN
 47                    
 48 tony          1.6  class SSLContext;
 49                    class CIMIndicationConsumer;
 50 kumpf         1.1  
 51 karl          1.7  
 52                    /** CIMListener provides the interfaces that allows CIMListeners to be
 53                        created and managed. CIMListeners are the receivers for cim/xml indications.
 54                        ATTN: KS needs to be completed.TBD
 55                    */
 56 kumpf         1.1  class PEGASUS_LISTENER_LINKAGE CIMListener
 57                    {
 58                    public:
 59 david.dillard 1.11     /**
 60                         * Constructs a CIMListener object.
 61                         *
 62                         * @param portNumber the specified socket port the listener will listen to
 63                         * @param sslContext the specifed SSL context
 64                         */
 65                        CIMListener(Uint32 portNumber, SSLContext* sslContext=NULL);
 66                    
 67                        /**
 68                         * Destructor of a CIMLIstener object.
 69                         */
 70 kumpf         1.1      ~CIMListener();
 71                    
 72 david.dillard 1.11     /**
 73                         * Returns the socket port number
 74                         *
 75                         * @return the socket port number.
 76                         */
 77                        Uint32 getPortNumber() const;
 78                    
 79                        /**
 80                         * Returns the SSL context
 81                         *
 82                         * @return the SSL context.
 83                         */
 84                        SSLContext* getSSLContext() const;
 85                    
 86                        /**
 87                         * Sets the SSL context
 88                         *
 89                         * @param the SSL context.
 90                         */
 91                        void setSSLContext(SSLContext* sslContext);
 92                    
 93 david.dillard 1.11     /**
 94                         * Starts for listening.
 95                         */
 96                        void start();
 97                    
 98                        /**
 99                         * Stops listening
100                         */
101                        void stop();
102                    
103                        /**
104                         * Returns if the listener is active
105                         *
106                         * @return true if the listener is active;
107                         *              false otherwise.
108                         */
109 aruran.ms     1.12     Boolean isAlive() const;
110 david.dillard 1.11 
111                        /**
112                         * Adds a CIMIndicationConsumer to the listener
113                         *
114                         * @param consumer the CIMIndicationConsumer to add.
115                         * @return true if the indication consumer has been added successfully
116                         *              false otherwise.
117                         */
118                        Boolean addConsumer(CIMIndicationConsumer* consumer);
119                    
120                        /**
121                         * Removes a CIMIndicationConsumer from the listener.
122                         *
123                         * @param the CIMIndicationConsumer to remove.
124                         * @return true if the indication consumer has been removed successfully
125                         *              false otherwise.
126                         */
127                        Boolean removeConsumer(CIMIndicationConsumer* consumer);
128 kumpf         1.1  
129                    private:
130 david.dillard 1.11     /*
131                         * Copy constructor - not implemented
132                         */
133                        CIMListener(const CIMListener &);
134                    
135                        /*
136                         * Assignment operator - not implemented
137                         */
138                        CIMListener &operator=(const CIMListener &);
139                    
140                        /*
141                         * rep object
142                         */
143                        void* _rep;
144 kumpf         1.1  };
145                    
146                    PEGASUS_NAMESPACE_END
147                    
148                    #endif /* Pegasus_Listener_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2