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

  1 karl  1.3 //%2006////////////////////////////////////////////////////////////////////////
  2 h.sterling 1.1 //
  3                // 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                // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
  8                // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
  9                // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 10                // EMC Corporation; VERITAS Software Corporation; The Open Group.
 11 karl       1.3 // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 12                // EMC Corporation; Symantec Corporation; The Open Group.
 13 h.sterling 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                // 
 21                // 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: Heather Sterling (hsterl@us.ibm.com)
 33                //
 34 h.sterling 1.1 // Modified By: 
 35                //
 36                //%/////////////////////////////////////////////////////////////////////////////
 37                
 38                #ifndef Pegasus_Dynamic_Listener_h
 39                #define Pegasus_Dynamic_Listener_h
 40                
 41                #include <Pegasus/Common/Config.h>
 42                #include <Pegasus/Common/String.h>
 43                #include <Pegasus/DynListener/Linkage.h>
 44                
 45                PEGASUS_NAMESPACE_BEGIN
 46                PEGASUS_USING_STD;
 47                
 48                class SSLContext;
 49                
 50                class PEGASUS_DYNLISTENER_LINKAGE DynamicListener
 51                {
 52                public:
 53                
 54                    static const Boolean DEFAULT_CONSUMER_UNLOAD;
 55 h.sterling 1.1     static const Uint32 DEFAULT_IDLE_TIMEOUT; 
 56                    static const Boolean DEFAULT_FORCE_SHUTDOWN;
 57                    static const Uint32 DEFAULT_SHUTDOWN_TIMEOUT;
 58                
 59                    DynamicListener(Uint32 portNumber, 
 60                                    const String& consumerDir, 
 61                                    const String& consumerConfigDir,
 62                                    Boolean enableConsumerUnload = DEFAULT_CONSUMER_UNLOAD, 
 63                                    Uint32 consumerIdleTimeout = DEFAULT_IDLE_TIMEOUT, 
 64                                    Uint32 shutdownTimeout = DEFAULT_SHUTDOWN_TIMEOUT);
 65                
 66                #ifdef PEGASUS_HAS_SSL
 67                    DynamicListener(Uint32 portNumber, 
 68                                    const String& consumerDir,
 69                                    const String& consumerConfigDir,
 70                                    Boolean useSSL, 
 71                                    const String& keyPath, 
 72                                    const String& certPath,
 73                                    Boolean enableConsumerUnload = DEFAULT_CONSUMER_UNLOAD, 
 74                                    Uint32 consumerIdleTimeout = DEFAULT_IDLE_TIMEOUT, 
 75                                    Uint32 shutdownTimeout = DEFAULT_SHUTDOWN_TIMEOUT);
 76 h.sterling 1.1 
 77                    DynamicListener(Uint32 portNumber, 
 78                                    const String& consumerDir,
 79                                    const String& consumerConfigDir,
 80                                    Boolean useSSL, 
 81                                    SSLContext* sslContext,
 82                                    Boolean enableConsumerUnload = DEFAULT_CONSUMER_UNLOAD, 
 83                                    Uint32 consumerIdleTimeout = DEFAULT_IDLE_TIMEOUT, 
 84                                    Uint32 shutdownTimeout = DEFAULT_SHUTDOWN_TIMEOUT);
 85                #endif
 86                
 87                    ~DynamicListener();
 88                
 89                    void start();
 90                
 91                    void stop(Boolean forceShutdown= DEFAULT_FORCE_SHUTDOWN);
 92                
 93                    Boolean isAlive();
 94                
 95                    Boolean addConsumer(const String& consumerName, const String& location = String::EMPTY);
 96                
 97 h.sterling 1.1     Boolean removeConsumer(const String& consumerName);
 98                
 99                    Uint32 getPortNumber();
100                
101                    String getConsumerDir();
102                
103                    String getConsumerConfigDir();
104                
105                    void setEnableConsumerUnload(const Boolean enableConsumerUnload);
106                
107                    Boolean getEnableConsumerUnload();
108                
109 gs.keenan  1.2     void setIdleTimeout(Uint32 idleTimeout);
110 h.sterling 1.1 
111                    Uint32 getIdleTimeout(); 
112                
113                private:
114                    void* _rep;
115                
116                };
117                
118                PEGASUS_NAMESPACE_END
119                
120                #endif /* Pegasus_Dynamic_Listener_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2