strusModule  0.17
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
strus::ModuleEntryPoint Struct Reference

Entry point of a module with signature and version info to verify correctness of the dynamic linking. More...

#include <moduleEntryPoint.hpp>

Inheritance diagram for strus::ModuleEntryPoint:
strus::AnalyzerModule strus::StorageModule strus::TraceModule

Classes

struct  Status
 

Public Types

enum  Type { Analyzer, Storage, Trace }
 The module types supported. More...
 
enum  {
  ErrorNone =0, ErrorUnknownModuleType =1, ErrorSignature =11, ErrorModMinorVersion =12,
  ErrorCompMajorVersion =21, ErrorCompMinorVersion =22, ErrorOpenModule =31, ErrorNoEntryPoint =32
}
 
typedef void * Handle
 

Public Member Functions

 ModuleEntryPoint (Type type_, unsigned short version_major, unsigned short version_minor, const char *version_3rdparty_=0, const char *license_3rdparty_=0)
 Constructor for derived classes. More...
 

Static Public Member Functions

static void closeHandle (Handle &hnd)
 

Public Attributes

char signature [8]
 signature of the module (string + major version) More...
 
Type type
 type of the module More...
 
unsigned short modversion_minor
 minor version of the module More...
 
unsigned short compversion_major
 major version of components in the module More...
 
unsigned short compversion_minor
 minor version of components in the module More...
 
unsigned int _reserved [6]
 reserved for future use More...
 
const char * version_3rdparty
 3rd party version info More...
 
const char * license_3rdparty
 3rd party license text More...
 

Detailed Description

Entry point of a module with signature and version info to verify correctness of the dynamic linking.

Member Typedef Documentation

Member Enumeration Documentation

anonymous enum
Enumerator
ErrorNone 

no error

ErrorUnknownModuleType 

the 'type' field has an unknown value

ErrorSignature 

the signature (composition of a string and the major module version number) does not match

ErrorModMinorVersion 

the loaded module minor version is higher than the one of the module loader. This means that the module potentially implementents features that are not known to the module loader. The loading of such a module is thus refused.

ErrorCompMajorVersion 

the components implemented in the module have a major version number than expected

ErrorCompMinorVersion 

the components minor version is smaller than required. The module may not implement the objects loaded as required. Thus the loading of the module is refused.

ErrorOpenModule 
ErrorNoEntryPoint 

The module types supported.

Enumerator
Analyzer 

module exporting objects for document and query analysis (moduleAnalyzer)

Storage 

module exporting objects for storage and query evaluation (moduleStorage)

Trace 

module exporting objects for method call trace generation (moduleTrace)

Constructor & Destructor Documentation

strus::ModuleEntryPoint::ModuleEntryPoint ( Type  type_,
unsigned short  version_major,
unsigned short  version_minor,
const char *  version_3rdparty_ = 0,
const char *  license_3rdparty_ = 0 
)
inlineexplicit

Constructor for derived classes.

Member Function Documentation

static void strus::ModuleEntryPoint::closeHandle ( Handle hnd)
static

Member Data Documentation

unsigned int strus::ModuleEntryPoint::_reserved[6]

reserved for future use

unsigned short strus::ModuleEntryPoint::compversion_major

major version of components in the module

unsigned short strus::ModuleEntryPoint::compversion_minor

minor version of components in the module

const char* strus::ModuleEntryPoint::license_3rdparty

3rd party license text

unsigned short strus::ModuleEntryPoint::modversion_minor

minor version of the module

char strus::ModuleEntryPoint::signature[8]

signature of the module (string + major version)

Type strus::ModuleEntryPoint::type

type of the module

const char* strus::ModuleEntryPoint::version_3rdparty

3rd party version info


The documentation for this struct was generated from the following file: