activemq-cpp-3.9.5
GenericResource.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_UTIL_GENERICRESOURCE_H_
19#define _DECAF_INTERNAL_UTIL_GENERICRESOURCE_H_
20
21#include <decaf/util/Config.h>
22
24
25namespace decaf {
26namespace internal {
27namespace util {
28
35 template<typename T>
36 class GenericResource: public Resource {
37 private:
38
39 T* managed;
40
41 private:
42
43 GenericResource(const GenericResource&);
44 GenericResource& operator=(const GenericResource&);
45
46 public:
47
48 explicit GenericResource(T* value) : managed(value) {
49 }
50
51 virtual ~GenericResource() {
52 try {
53 delete managed;
54 } catch (...) {
55 }
56 }
57
58 T* getManaged() const {
59 return this->managed;
60 }
61
62 void setManaged(T* value) {
63 this->managed = value;
64 }
65
66 };
67
68}}}
69
70#endif /* _DECAF_INTERNAL_UTIL_GENERICRESOURCE_H_ */
GenericResource(T *value)
Definition GenericResource.h:48
virtual ~GenericResource()
Definition GenericResource.h:51
void setManaged(T *value)
Definition GenericResource.h:62
T * getManaged() const
Definition GenericResource.h:58
Interface for all Managed Resources in Decaf, these objects are added to the Runtime System and are d...
Definition Resource.h:33
Definition ByteArrayAdapter.h:30
Definition AprPool.h:26
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.
Definition AprPool.h:25