WvStreams
xplc
moduleloader.h
1
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2
*
3
* XPLC - Cross-Platform Lightweight Components
4
* Copyright (C) 2002-2004, Net Integration Technologies, Inc.
5
* Copyright (C) 2002-2004, Pierre Phaneuf
6
*
7
* This library is free software; you can redistribute it and/or
8
* modify it under the terms of the GNU Lesser General Public License
9
* as published by the Free Software Foundation; either version 2.1 of
10
* the License, or (at your option) any later version.
11
*
12
* This library is distributed in the hope that it will be useful, but
13
* WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
* Lesser General Public License for more details.
16
*
17
* You should have received a copy of the GNU Lesser General Public
18
* License along with this library; if not, write to the Free Software
19
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
20
* USA
21
*/
22
23
#ifndef __XPLC_MODULELOADER_H__
24
#define __XPLC_MODULELOADER_H__
25
26
#include <
xplc/utils.h
>
27
#include <xplc/IModuleLoader.h>
28
#include <
xplc/module.h
>
29
30
class
ModuleLoader
:
public
IModuleLoader
{
31
IMPLEMENT_IOBJECT(
ModuleLoader
);
32
public
:
33
virtual
IModule
* loadModule(
const
char
* modulename);
34
virtual
~
ModuleLoader
() {}
35
};
36
37
class
Module
:
public
IModule
{
38
IMPLEMENT_IOBJECT(
Module
);
39
private
:
40
void
*handle;
41
const
XPLC_ModuleInfo
* moduleinfo;
42
public
:
43
Module
(
void
* aHandle,
const
XPLC_ModuleInfo
* aModuleInfo);
44
static
Module
* loadModule(
const
char
* modulename);
45
virtual
IObject
*
getObject
(
const
UUID
& cid);
46
virtual
~
Module
();
47
};
48
49
#endif
/* __XPLC_MODULELOADER_H__ */
XPLC_ModuleInfo
Information for an XPLC module.
Definition:
module.h:98
module.h
utils.h
IModuleLoader
Definition:
IModuleLoader.h:37
Module
Definition:
moduleloader.h:37
IObject
Definition:
IObject.h:65
Module::getObject
virtual IObject * getObject(const UUID &cid)
Get the object corresponding to the given UUID.
Definition:
moduleloader.cc:113
_GUID
The structure underlying UUIDs.
Definition:
uuid.h:94
ModuleLoader
Definition:
moduleloader.h:30
IModule
Definition:
IModule.h:37
Generated by
1.8.17