crabmeat
1.0
Loading...
Searching...
No Matches
kobject.h
1
2
#ifndef CBM_KERNEL_OBJECT_H_
3
#define CBM_KERNEL_OBJECT_H_
4
5
#include "cbm_object.h"
6
7
namespace
cbm
{
8
class
CBM_API kernel_object_t :
public
cbm::object_t
9
{
10
public
:
11
kernel_object_t() : cbm::object_t() {}
12
kernel_object_t( lid_t
const
& _id) : cbm::object_t( _id) {}
13
};
14
}
/* namespace cbm */
15
16
/* kernel objects */
17
#define CBM_KERNEL_OBJECT(__type__,__id__) \
18
LDNDC_OBJECT(__type__) \
19
private: static char const * const m_kname; \
20
public: char const * name() const { return this->m_kname; } \
21
private: static char const * const m_ID; \
22
public: char const * ID() const { return this->m_ID; } \
23
private: \
24
static cbm::kernelfactory_t< __type__ > const kernelfactory_##__id__;
25
26
#define CBM_KERNEL_OBJECT_DEFN(__ns__,__type__,__id__,__factory_name__,__kname__) \
27
cbm::kernelfactory_t< __ns__::__type__ > const \
28
__ns__::__type__::kernelfactory_##__id__( __factory_name__); \
29
LDNDC_OBJECT_DEFN(__ns__::__type__) \
30
char const * const __ns__::__type__::m_kname = __kname__; \
31
char const * const __ns__::__type__::m_ID = __factory_name__;
32
33
#endif
/* !CBM_KERNEL_OBJECT_H_ */
34
cbm
The "Service Registry" holds information about available services (e.g., models, readers,...
Definition
Lresources.h:51
domain
kernel
kobject.h
Generated by
1.13.2