WvStreams
include
xplc
IFactory.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) 2000-2002, Pierre Phaneuf
5
* Copyright (C) 2002, 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_IFACTORY_H__
24
#define __XPLC_IFACTORY_H__
25
26
#if defined(__GNUC__) && __GNUC__ > 3
27
# pragma GCC system_header
28
#endif
29
30
#include <
xplc/IObject.h
>
31
37
class
IFactory
:
public
IObject
{
38
UNSTABLE_INTERFACE
39
public
:
46
virtual
IObject
*
createObject
() = 0;
47
};
48
49
DEFINE_IID
(
IFactory
, {0xcd386b27, 0x0ea1, 0x4e1b,
50
{0xba, 0x08, 0xb8, 0x5e, 0xe4, 0xda, 0xad, 0x69}});
51
52
#endif
/* __XPLC_IFACTORY_H__ */
UNSTABLE_INTERFACE
#define UNSTABLE_INTERFACE
Used to mark an interface as unstable.
Definition:
IObject.h:46
IFactory::createObject
virtual IObject * createObject()=0
Creates an object.
IObject.h
IFactory
Definition:
IFactory.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
Generated by
1.8.17