27#ifndef COSMO_COMPONENT_INFO_H
28#define COSMO_COMPONENT_INFO_H
30#include <Pt/Cosmo/Api.h>
31#include <Pt/Cosmo/IComponentPlugin.h>
32#include <Pt/Cosmo/IComponentDeclaration.h>
33#include <Pt/Cosmo/IComponentStatus.h>
34#include <Pt/Cosmo/IEnumerable.h>
123 return _plugin->hasInterface<I>();
130 return _plugin->mode();
137 return _plugin->hasFeatureId(featureId);
144 return _plugin->featureIds();
151 return _plugin->classId();
158 return _plugin->info();
165 return _decl->instanceId();
172 return _status->dependencies();
ComponentInfo(IComponentPlugin *plugin, IComponentDeclaration *decl, IComponentStatus *status)
Constructor.
Definition ComponentInfo.h:61
const IEnumerable< IDependencyInfo > & dependencies() const
Returns info about the dependencies.
Definition ComponentInfo.h:170
const char * instanceId() const
Returns the instance ID.
Definition ComponentInfo.h:163
ComponentInfo(const ComponentInfo &)=delete
No copy constructor.
bool hasFeatureId(const char *featureId) const
Returns true if feature ID is implemented.
Definition ComponentInfo.h:135
const IComponentStatus * status() const
Returns the component status.
Definition ComponentInfo.h:113
bool hasInterface() const
Returns true if interface is available.
Definition ComponentInfo.h:121
const IComponentDeclaration * declaration() const
Returns the instance declaration.
Definition ComponentInfo.h:106
const IEnumerable< const char * > & featureIds() const
Returns the implemented feature IDs.
Definition ComponentInfo.h:142
ComponentMode mode() const
Returns the component mode.
Definition ComponentInfo.h:128
const char * classId() const
Returns the class ID.
Definition ComponentInfo.h:149
void assign(IComponentPlugin *plugin, IComponentDeclaration *decl, IComponentStatus *status)
Reassigns the component information.
Definition ComponentInfo.h:88
ComponentInfo & operator=(const ComponentInfo &)=delete
No copy assignment.
const char * info() const
Returns the info text.
Definition ComponentInfo.h:156
const IComponentPlugin * plugin() const
Returns the plugin.
Definition ComponentInfo.h:99
virtual ~ComponentInfo()
Destructor.
Definition ComponentInfo.h:75
Component flags.
Definition ComponentMode.h:45
Component instance declaration.
Definition IComponentDeclaration.h:45
Component plugin interface.
Definition IComponentPlugin.h:51
Component status interface.
Definition IComponentStatus.h:47
Dependency information.
Definition IDependencyInfo.h:47
Enumerable interface.
Definition IEnumerable.h:58
Cosmo Component Model.
Definition Api.h:53
Core module.
Definition Allocator.h:33