Apache Celix  latest
Apache Celix is a framework for C, C++14 and C++17 to develop dynamic modular software applications using component and in-process service-oriented programming.
Public Member Functions | Protected Attributes | List of all members
celix::dm::TypedServiceDependency< T > Class Template Reference

#include <ServiceDependency.h>

Inheritance diagram for celix::dm::TypedServiceDependency< T >:
Inheritance graph
[legend]
Collaboration diagram for celix::dm::TypedServiceDependency< T >:
Collaboration graph
[legend]

Public Member Functions

 TypedServiceDependency (celix_dm_component_t *cCmp)
 
 ~TypedServiceDependency () override=default
 
 TypedServiceDependency (const TypedServiceDependency &)=delete
 
TypedServiceDependencyoperator= (const TypedServiceDependency &)=delete
 
 TypedServiceDependency (TypedServiceDependency &&) noexcept=delete
 
TypedServiceDependencyoperator= (TypedServiceDependency &&) noexcept=delete
 
void setComponentInstance (T *cmp)
 
- Public Member Functions inherited from celix::dm::BaseServiceDependency
 BaseServiceDependency (celix_dm_component_t *c)
 
virtual ~BaseServiceDependency () noexcept
 
 BaseServiceDependency (const BaseServiceDependency &)=delete
 
BaseServiceDependencyoperator= (const BaseServiceDependency &)=delete
 
 BaseServiceDependency (BaseServiceDependency &&) noexcept=delete
 
BaseServiceDependencyoperator= (BaseServiceDependency &&) noexcept=delete
 
bool isValid () const __attribute__((deprecated))
 
celix_dm_service_dependency_t * cServiceDependency () const
 
void wait () const
 
void runBuild ()
 

Protected Attributes

T * componentInstance {nullptr}
 
- Protected Attributes inherited from celix::dm::BaseServiceDependency
celix_dm_service_dependency_t * cServiceDep {nullptr}
 

Additional Inherited Members

- Protected Member Functions inherited from celix::dm::BaseServiceDependency
void setDepStrategy (DependencyUpdateStrategy strategy)
 
template<typename U >
void waitForExpired (std::weak_ptr< U > observe, long svcId, const char *observeType)
 

Constructor & Destructor Documentation

◆ TypedServiceDependency() [1/3]

template<class T >
celix::dm::TypedServiceDependency< T >::TypedServiceDependency ( celix_dm_component_t *  cCmp)
inline

◆ ~TypedServiceDependency()

template<class T >
celix::dm::TypedServiceDependency< T >::~TypedServiceDependency ( )
overridedefault

◆ TypedServiceDependency() [2/3]

template<class T >
celix::dm::TypedServiceDependency< T >::TypedServiceDependency ( const TypedServiceDependency< T > &  )
delete

◆ TypedServiceDependency() [3/3]

template<class T >
celix::dm::TypedServiceDependency< T >::TypedServiceDependency ( TypedServiceDependency< T > &&  )
deletenoexcept

Member Function Documentation

◆ operator=() [1/2]

template<class T >
TypedServiceDependency& celix::dm::TypedServiceDependency< T >::operator= ( const TypedServiceDependency< T > &  )
delete

◆ operator=() [2/2]

template<class T >
TypedServiceDependency& celix::dm::TypedServiceDependency< T >::operator= ( TypedServiceDependency< T > &&  )
deletenoexcept

◆ setComponentInstance()

template<class T >
void celix::dm::TypedServiceDependency< T >::setComponentInstance ( T *  cmp)
inline

Set the component instance with a pointer

Member Data Documentation

◆ componentInstance

template<class T >
T* celix::dm::TypedServiceDependency< T >::componentInstance {nullptr}
protected

The documentation for this class was generated from the following file: