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

  1 martin 1.5 //%LICENSE////////////////////////////////////////////////////////////////
  2 martin 1.6 //
  3 martin 1.5 // Licensed to The Open Group (TOG) under one or more contributor license
  4            // agreements.  Refer to the OpenPegasusNOTICE.txt file distributed with
  5            // this work for additional information regarding copyright ownership.
  6            // Each contributor licenses this file to you under the OpenPegasus Open
  7            // Source License; you may not use this file except in compliance with the
  8            // License.
  9 martin 1.6 //
 10 martin 1.5 // Permission is hereby granted, free of charge, to any person obtaining a
 11            // copy of this software and associated documentation files (the "Software"),
 12            // to deal in the Software without restriction, including without limitation
 13            // the rights to use, copy, modify, merge, publish, distribute, sublicense,
 14            // and/or sell copies of the Software, and to permit persons to whom the
 15            // Software is furnished to do so, subject to the following conditions:
 16 martin 1.6 //
 17 martin 1.5 // The above copyright notice and this permission notice shall be included
 18            // in all copies or substantial portions of the Software.
 19 martin 1.6 //
 20 martin 1.5 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 21 martin 1.6 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 22 martin 1.5 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 23            // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
 24            // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
 25            // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 26            // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 27 martin 1.6 //
 28 martin 1.5 //////////////////////////////////////////////////////////////////////////
 29 h.sterling 1.1 //
 30                //%/////////////////////////////////////////////////////////////////////////////
 31                
 32                #ifndef Pegasus_Dynamic_Listener_h
 33                #define Pegasus_Dynamic_Listener_h
 34                
 35                #include <Pegasus/Common/Config.h>
 36                #include <Pegasus/Common/String.h>
 37 karl       1.7.8.1 #include <Pegasus/Common/ReadWriteSem.h>
 38 h.sterling 1.1     #include <Pegasus/DynListener/Linkage.h>
 39                    
 40                    PEGASUS_NAMESPACE_BEGIN
 41                    PEGASUS_USING_STD;
 42                    
 43                    class SSLContext;
 44                    
 45                    class PEGASUS_DYNLISTENER_LINKAGE DynamicListener
 46                    {
 47                    public:
 48                    
 49                        static const Boolean DEFAULT_CONSUMER_UNLOAD;
 50 kumpf      1.7         static const Uint32 DEFAULT_IDLE_TIMEOUT;
 51 h.sterling 1.1         static const Boolean DEFAULT_FORCE_SHUTDOWN;
 52                        static const Uint32 DEFAULT_SHUTDOWN_TIMEOUT;
 53                    
 54 kumpf      1.7         DynamicListener(Uint32 portNumber,
 55                                        const String& consumerDir,
 56 h.sterling 1.1                         const String& consumerConfigDir,
 57 kumpf      1.7                         Boolean enableConsumerUnload = DEFAULT_CONSUMER_UNLOAD,
 58                                        Uint32 consumerIdleTimeout = DEFAULT_IDLE_TIMEOUT,
 59 h.sterling 1.1                         Uint32 shutdownTimeout = DEFAULT_SHUTDOWN_TIMEOUT);
 60                    
 61                    #ifdef PEGASUS_HAS_SSL
 62 kumpf      1.7         DynamicListener(Uint32 portNumber,
 63 h.sterling 1.1                         const String& consumerDir,
 64                                        const String& consumerConfigDir,
 65 kumpf      1.7                         Boolean useSSL,
 66                                        const String& keyPath,
 67 h.sterling 1.1                         const String& certPath,
 68 kumpf      1.7                         Boolean enableConsumerUnload = DEFAULT_CONSUMER_UNLOAD,
 69                                        Uint32 consumerIdleTimeout = DEFAULT_IDLE_TIMEOUT,
 70 karl       1.7.8.2                     Uint32 shutdownTimeout = DEFAULT_SHUTDOWN_TIMEOUT,
 71                                        const String & sslCipherSuite="DEFAULT");
 72 h.sterling 1.1     
 73 kumpf      1.7         DynamicListener(Uint32 portNumber,
 74 h.sterling 1.1                         const String& consumerDir,
 75                                        const String& consumerConfigDir,
 76 kumpf      1.7                         Boolean useSSL,
 77 h.sterling 1.1                         SSLContext* sslContext,
 78 karl       1.7.8.1                     ReadWriteSem*  _sslContextObjectLock,
 79 kumpf      1.7                         Boolean enableConsumerUnload = DEFAULT_CONSUMER_UNLOAD,
 80                                        Uint32 consumerIdleTimeout = DEFAULT_IDLE_TIMEOUT,
 81 h.sterling 1.1                         Uint32 shutdownTimeout = DEFAULT_SHUTDOWN_TIMEOUT);
 82                    #endif
 83                    
 84                        ~DynamicListener();
 85                    
 86                        void start();
 87                    
 88                        void stop(Boolean forceShutdown= DEFAULT_FORCE_SHUTDOWN);
 89                    
 90                        Boolean isAlive();
 91                    
 92 marek      1.4         Boolean addConsumer(
 93                                    const String& consumerName,
 94                                    const String& location = String::EMPTY);
 95 h.sterling 1.1     
 96                        Boolean removeConsumer(const String& consumerName);
 97                    
 98                        Uint32 getPortNumber();
 99                    
100                        String getConsumerDir();
101                    
102                        String getConsumerConfigDir();
103                    
104                        void setEnableConsumerUnload(const Boolean enableConsumerUnload);
105                    
106                        Boolean getEnableConsumerUnload();
107                    
108 gs.keenan  1.2         void setIdleTimeout(Uint32 idleTimeout);
109 h.sterling 1.1     
110 kumpf      1.7         Uint32 getIdleTimeout();
111 h.sterling 1.1     
112                    private:
113                        void* _rep;
114                    
115                    };
116                    
117                    PEGASUS_NAMESPACE_END
118                    
119                    #endif /* Pegasus_Dynamic_Listener_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2