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 Member Functions | Protected Attributes | List of all members
celix::dm::BaseServiceDependency Class Reference

#include <ServiceDependency.h>

Inheritance diagram for celix::dm::BaseServiceDependency:
Inheritance graph
[legend]

Public Member Functions

 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 Member Functions

void setDepStrategy (DependencyUpdateStrategy strategy)
 
template<typename U >
void waitForExpired (std::weak_ptr< U > observe, long svcId, const char *observeType)
 

Protected Attributes

celix_dm_service_dependency_t * cServiceDep {nullptr}
 

Constructor & Destructor Documentation

◆ BaseServiceDependency() [1/3]

celix::dm::BaseServiceDependency::BaseServiceDependency ( celix_dm_component_t *  c)
inline

◆ ~BaseServiceDependency()

BaseServiceDependency::~BaseServiceDependency ( )
inlinevirtualnoexcept

◆ BaseServiceDependency() [2/3]

celix::dm::BaseServiceDependency::BaseServiceDependency ( const BaseServiceDependency )
delete

◆ BaseServiceDependency() [3/3]

celix::dm::BaseServiceDependency::BaseServiceDependency ( BaseServiceDependency &&  )
deletenoexcept

Member Function Documentation

◆ cServiceDependency()

celix_dm_service_dependency_t* celix::dm::BaseServiceDependency::cServiceDependency ( ) const
inline

Returns the C DM service dependency

◆ isValid()

bool celix::dm::BaseServiceDependency::isValid ( ) const
inline

Whether the service dependency is valid.

Deprecated -> will always return true.

◆ operator=() [1/2]

BaseServiceDependency& celix::dm::BaseServiceDependency::operator= ( BaseServiceDependency &&  )
deletenoexcept

◆ operator=() [2/2]

BaseServiceDependency& celix::dm::BaseServiceDependency::operator= ( const BaseServiceDependency )
delete

◆ runBuild()

void BaseServiceDependency::runBuild ( )
inline

Run the service dependency build. After this call the service dependency is added to the component and is enabled. The underlining service tracker will be created async.

◆ setDepStrategy()

void celix::dm::BaseServiceDependency::setDepStrategy ( DependencyUpdateStrategy  strategy)
inlineprotected

◆ wait()

void BaseServiceDependency::wait ( ) const
inline

Wait for an empty Celix event queue. Should not be called on the Celix event queue thread.

Can be used to ensure that the service dependency is completely processed (service trackers are created).

◆ waitForExpired()

template<typename U >
void BaseServiceDependency::waitForExpired ( std::weak_ptr< U >  observe,
long  svcId,
const char *  observeType 
)
inlineprotected

Member Data Documentation

◆ cServiceDep

celix_dm_service_dependency_t* celix::dm::BaseServiceDependency::cServiceDep {nullptr}
protected

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