summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYehuda Sadeh <yehuda.sadeh@dreamhost.com>2011-12-05 13:44:13 -0800
committerYehuda Sadeh <yehuda.sadeh@dreamhost.com>2011-12-05 13:44:13 -0800
commitf4e1d549578776325099cf9c0eae6c5dd73b9e6d (patch)
treef9f20b616cbb8637c08ab5610d0d1b0e2f6f88f9
parent94d094e1afd397f0da40272cfd36c0e7244e0f1c (diff)
downloadceph-f4e1d549578776325099cf9c0eae6c5dd73b9e6d.tar.gz
rgw: ObjRef template doesn't need two types
-rw-r--r--src/rgw/libradosgw.cc6
-rw-r--r--src/rgw/libradosgw.hpp20
2 files changed, 10 insertions, 16 deletions
diff --git a/src/rgw/libradosgw.cc b/src/rgw/libradosgw.cc
index b069ea744da..4881b07aa09 100644
--- a/src/rgw/libradosgw.cc
+++ b/src/rgw/libradosgw.cc
@@ -376,10 +376,4 @@ namespace libradosgw {
return ret;
}
-
- Account::~Account() {
- if (impl)
- impl->put();
- }
-
}
diff --git a/src/rgw/libradosgw.hpp b/src/rgw/libradosgw.hpp
index 3a8205785e9..fceddf108ff 100644
--- a/src/rgw/libradosgw.hpp
+++ b/src/rgw/libradosgw.hpp
@@ -25,13 +25,13 @@ namespace libradosgw {
};
- template <class T, class S>
+ template <class T>
class ObjRef {
- T *obj;
+ RefCountedObject *obj;
public:
- ObjRef(T *o = NULL) : obj(o) {}
+ ObjRef(RefCountedObject *o = NULL) : obj(o) {}
- ObjRef(ObjRef<T, S>& src) {
+ ObjRef(ObjRef<T>& src) {
obj = src;
if (obj)
obj->get();
@@ -42,7 +42,7 @@ namespace libradosgw {
obj->put();
}
- ObjRef<T, S>& operator=(ObjRef<T, S> &src) {
+ ObjRef<T>& operator=(ObjRef<T> &src) {
if (this == &src)
return *this;
@@ -56,7 +56,7 @@ namespace libradosgw {
return *this;
}
- T *operator=(T *o) {
+ RefCountedObject *operator=(RefCountedObject *o) {
if (obj)
obj->put();
@@ -64,8 +64,8 @@ namespace libradosgw {
return obj;
}
- S *operator->() {
- return obj;
+ T *operator->() {
+ return (T *)obj;
}
};
@@ -256,7 +256,7 @@ namespace libradosgw {
friend class StoreImpl;
protected:
- ObjRef<RefCountedObject, AccountImpl> impl;
+ ObjRef<AccountImpl> impl;
User user;
std::map<string, AccessKey> access_keys;
@@ -280,7 +280,7 @@ namespace libradosgw {
class Store {
protected:
- ObjRef<RefCountedObject, StoreImpl> impl;
+ ObjRef<StoreImpl> impl;
public:
Store() : impl(NULL) {}