Export class types definitions
File : API\core\libs\libTypes.h
Namespace : core::libs
#define ZM_CLASS_TOOL 0x0001
#define ZM_CLASS_SERVICE 0x0002
#define ZM_CLASS_FILTER 0x0004
#define ZM_CLASS_SHARED 0x0008
#define ZM_CLASS_TEXTURELOADER 0x0010
Description
Export class type definitions. These types (can be specified as bitwise-or, but
usually only one value is used to) specify export class type. Library enumerates
export classes in tLibClassNode blocks where
class creation function and class type is specified. Depending on class type,
ZModeler can instantate class on startup (ZM_CLASS_TOOL), make it available
for creation (ZM_CLASS_SERVICE, ZM_CLASS_SHARED) or provide class names
enumeration (ZM_CLASS_FILTER).
Values are
- ZM_CLASS_TOOL
- Class instance is derived from core::tools::ITool
and instantated on startup. Tool's core::layout::ILayout
is obtained and tool is intergrated to ZModeler (commands bar, menu etc).
- ZM_CLASS_SERVICE
- Class instance is derived from
services::IService. ZModeler will use this service when reqested or, if requried, one
can instantate and initalize properly this service in library's
startup routine.
- ZM_CLASS_FILTER
- Class instance is derived from
core::io::IImportExportFilter and will be instatated/controlled by.
services::IImportExportService.
Libraries that export only filter-classes can support unload,
So ZModeler will load them on demand and then unload.
- ZM_CLASS_SHARED
- Shared class can be derived from any interface you like and implement anything you need.
This could be stream, user interface control and so on. ZModeler creates these classes on
demand with IRepository::createSharedClass
method.
- ZM_CLASS_TEXTURELOADER
- Texture loading class. Currently unused and reserved for future use.
Example
See an example in core::libs namespace overview.
See Also:
- overview of namespace core::libs
- core::libs::ILibrary interface