WvStreams
include
xplc
IModuleLoader.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, Pierre Phaneuf
5
* Copyright (C) 2002-2004, Net Integration Technologies, Inc.
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_IMODULELOADER_H__
24
#define __XPLC_IMODULELOADER_H__
25
26
#if defined(__GNUC__) && __GNUC__ > 3
27
# pragma GCC system_header
28
#endif
29
30
#include <xplc/IModule.h>
31
37
class
IModuleLoader
:
public
IObject
{
38
UNSTABLE_INTERFACE
39
public
:
40
virtual
IModule
* loadModule(
const
char
* modulename) = 0;
41
};
42
43
DEFINE_IID
(
IModuleLoader
, {0xa4143690, 0xfc54, 0x43f4,
44
{0x9d, 0x7e, 0x50, 0x3c, 0x71, 0xff, 0xa5, 0x01}});
45
46
#endif
/* __XPLC_IMODULELOADER_H__ */
UNSTABLE_INTERFACE
#define UNSTABLE_INTERFACE
Used to mark an interface as unstable.
Definition:
IObject.h:46
IModuleLoader
Definition:
IModuleLoader.h:37
IObject
Definition:
IObject.h:65
DEFINE_IID
#define DEFINE_IID(iface, u1, u2, u3, u4, u5, u6, u7, u8, u9, u10, u11)
Used to define the IID of an interface.
Definition:
uuid.h:134
IModule
Definition:
IModule.h:37
Generated by
1.8.17