activemq-cpp-3.6.0
Main Page
Namespaces
Data Structures
Files
File List
Globals
Network.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
18
#ifndef _DECAF_INTERNAL_NET_NETWORK_H_
19
#define _DECAF_INTERNAL_NET_NETWORK_H_
20
21
#include <
decaf/util/Config.h
>
22
23
#include <
decaf/util/concurrent/Mutex.h
>
24
#include <
decaf/internal/util/Resource.h
>
25
#include <
decaf/internal/util/GenericResource.h
>
26
27
namespace
decaf {
28
namespace
internal {
29
namespace
net {
30
31
class
NetworkData;
32
39
class
DECAF_API
Network
{
40
private
:
41
42
NetworkData* data;
43
44
static
Network
* networkRuntime;
45
46
private
:
47
48
Network
(
const
Network
& );
49
Network
& operator= (
const
Network
& );
50
51
protected
:
52
53
Network
();
54
55
public
:
56
57
virtual
~
Network
();
58
69
decaf::util::concurrent::Mutex
* getRuntimeLock();
70
81
void
addNetworkResource(
decaf::internal::util::Resource
* value );
82
83
template
<
typename
T>
84
void
addAsResource
( T* value ) {
85
86
util::GenericResource<T>
* resource =
new
util::GenericResource<T>
( value );
87
this->addNetworkResource( resource );
88
}
89
106
void
addShutdownTask(
decaf::lang::Runnable
* task );
107
108
public
:
// Static methods
109
117
static
Network
* getNetworkRuntime();
118
122
static
void
initializeNetworking();
123
129
static
void
shutdownNetworking();
130
131
};
132
133
}}}
134
135
#endif
/* _DECAF_INTERNAL_NET_NETWORK_H_ */
src
main
decaf
internal
net
Network.h
Generated on Mon Mar 4 2013 10:25:45 for activemq-cpp-3.6.0 by
1.8.1.2