This commit is contained in:
2015-05-24 01:53:39 +02:00
parent 13c182c82b
commit 96ca9d0d8a
12 changed files with 23 additions and 18 deletions
@@ -47,7 +47,8 @@ class Object
*/
template<class _Service>
class Service
: public virtual interface::Service {
: public virtual interface::Service,
public Object {
public:
@@ -88,8 +89,8 @@ template <class... _Args> class Observable {};
* Convenience template merging the Object class and the Observable template into a single template.
*/
template<class... _Args> class ObservableObject
: public virtual Object,
public virtual Observable<_Args...> {};
: public Object,
public Observable<_Args...> {};
@@ -97,8 +98,8 @@ template<class... _Args> class ObservableObject
* Convenience template merging the Service class and the Observable template into a single template.
*/
template<class _Service, class... _Args> class ObservableService
: public virtual Service<_Service>,
public virtual Observable<_Args...> {};
: public Service<_Service>,
public Observable<_Args...> {};
@@ -24,6 +24,10 @@ namespace interface {
class Object {
public:
virtual ~Object() {}
template<class T> T* castPtr() {
return dynamic_cast<T*>(this);
}
};
@@ -23,7 +23,7 @@ namespace core {
*/
class CoreServiceImpl
: public virtual CoreService,
public virtual implementation::ObservableService<CoreServiceImpl, CoreServiceEvent> {
public implementation::ObservableService<CoreServiceImpl, CoreServiceEvent> {
private: