7 #ifndef _UCOM_PLUGIN_HEADER_
8 #define _UCOM_PLUGIN_HEADER_
26 level_machine<cPlugin,
27 IPlugin::tPluginState,
28 IPlugin::tPluginState::Deinitialized>>
32 static constexpr
const tChar*
const DEFAULT_PLUGIN_EXTENSION =
".adtfplugin";
48 const char* GetLabel()
const override;
51 uint32_t GetBuildType()
const override;
52 tResult SetState(tPluginState eState)
override;
53 tPluginState GetState()
const override;
55 void SetHandle(
tHandle hModule)
override;
56 tHandle GetHandle()
const override;
63 void SetLogger(
ILogger* pLogger)
override;
72 static const std::array<const tNamedVersion, 1> sVersions{{UCOM_VERSION_ID, adtf::ucom::get_ucom_version_information()}};
78 template<
typename PLUGIN_VERSION_TYPE,
typename ...CLASSES>
87 return PLUGIN_VERSION_TYPE::GetVersions();
98 pClassFactory.
Reset(m_pClassFactory);
103 template<
typename PLUGIN_CLASS>
106 template <
typename ...Args>
112 UCOM_GetVersion3(
nullptr,
nullptr,
nullptr,
nullptr);
113 UCOM_LoadPlugin3(
nullptr, 0, 0, 0,
nullptr, 0);
114 UCOM_UnloadPlugin3();
char tChar
The tChar defines the type for platform character set (platform and compiler dependent type).
tVoid * tHandle
type definition for a handle value (platform and compiler dependent type).
A_UTILS_NS::cResult tResult
For backwards compatibility and to bring latest version into scope.
#define RETURN_NOERROR
Return status ERR_NOERROR, which requires the calling function's return type to be tResult.
A common result class usable as return value throughout.
Base class for every interface type within the uCOM.
The IRuntime interface controls global system startup and shutdown.
The class class_factory provides a template based implementation of the IClassFactory interface,...
virtual tResult Reset(const iobject_ptr< T > &i_oOther)=0
Reset this object_ptr<> with the content of another iobject_ptr<>
Base object pointer to realize binary compatible reference counting in interface methods.
Object pointer implementation used for reference counting on objects of type IObject.
Use this template if you want to implement an ucom::ant::IObject based Interface and/or subclass an e...
string_base< cStackString > cString
cString implementation for a stack string which works on stack if string is lower than A_UTILS_DEFAUL...
std::enable_if< !std::is_base_of< enable_object_ptr_from_this< typename std::remove_cv< Implementation >::type >, typename std::remove_cv< Implementation >::type >::value, object_ptr< Implementation > >::type make_object_ptr(Args &&... args)
Create an instance of type object_ptr with Implementation as the shared resource.
ant::tNamedVersion tNamedVersion
Alias alwas bringing the latest version of ant::tNamedVersion into scope.
Namespace for entire ADTF SDK.
std::function< tResult(adtf::ucom::iobject_ptr< adtf::ucom::IPlugin > &)> _plugin_initialization
Global Plugin initialization method.
adtf::ucom::IRuntime * _runtime
Global Runtime Pointer to reference to the current runtime.
std::function< void()> _plugin_deinitialization
Global Plugin deinitialization method.
Adapter for begin and end iterators - usable as return and parameter value in interfaces.
static self_type create(IteratorInterfaceType &o_oIterator)
Create the adapter by assigning iterator interface to begin and end iterators.
Empty struct template to specialize implementations of iterator interfaces.