activemq-cpp-3.9.5
SocketFactory.h
Go to the documentation of this file.
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17#ifndef _DECAF_NET_SOCKETFACTORY_H_
18#define _DECAF_NET_SOCKETFACTORY_H_
19
20#include <decaf/util/Config.h>
21
24
25namespace decaf{
26namespace net{
27
28 class Socket;
29 class InetAddress;
30
39 class DECAF_API SocketFactory {
40 private:
41
42 static SocketFactory* defaultFactory;
43
44 private:
45
46 SocketFactory( const SocketFactory& );
47 SocketFactory& operator= ( const SocketFactory& );
48
49 protected:
50
52
53 public:
54
55 virtual ~SocketFactory();
56
64 virtual Socket* createSocket();
65
80 virtual Socket* createSocket(const InetAddress* host, int port) = 0;
81
101 virtual Socket* createSocket(const InetAddress* host, int port, const InetAddress* ifAddress, int localPort) = 0;
102
117 virtual Socket* createSocket(const std::string& host, int port) = 0;
118
137 virtual Socket* createSocket(const std::string& host, int port, const InetAddress* ifAddress, int localPort) = 0;
138
148 static SocketFactory* getDefault();
149
150 };
151
152}}
153
154#endif /*_DECAF_NET_SOCKETFACTORY_H_*/
Represents an IP address.
Definition InetAddress.h:33
virtual Socket * createSocket(const std::string &host, int port)=0
Creates a new Socket object and connects it to the specified remote host and port using the configura...
virtual Socket * createSocket(const std::string &host, int port, const InetAddress *ifAddress, int localPort)=0
Creates a new Socket object and connects it to the specified remote host and port using the configura...
static SocketFactory * getDefault()
Returns an pointer to the default SocketFactory for this Application, there is only one default Socke...
virtual Socket * createSocket()
Creates an unconnected Socket object.
virtual Socket * createSocket(const InetAddress *host, int port)=0
Creates a new Socket object and connects it to the specified remote host and port using the configura...
virtual Socket * createSocket(const InetAddress *host, int port, const InetAddress *ifAddress, int localPort)=0
Creates a new Socket object and connects it to the specified remote host and port using the configura...
Definition Socket.h:44
#define DECAF_API
Definition Config.h:29
Definition URLStreamHandlerManager.h:26
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.
Definition AprPool.h:25