WvStreams
IServiceManager.h
Go to the documentation of this file.
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_ISERVICEMANAGER_H__
24 #define __XPLC_ISERVICEMANAGER_H__
25 
26 #if defined(__GNUC__) && __GNUC__ > 3
27 # pragma GCC system_header
28 #endif
29 
35 #include <xplc/IObject.h>
36 #include <xplc/IServiceHandler.h>
37 
60 public:
64  virtual void addHandler(IServiceHandler*) = 0;
65 
69  virtual void addFirstHandler(IServiceHandler*) = 0;
70 
74  virtual void addLastHandler(IServiceHandler*) = 0;
75 
78  virtual void removeHandler(IServiceHandler*) = 0;
79 };
80 
82 DEFINE_IID(IServiceManager, {0x22bdabd9, 0xa63a, 0x4b5e,
83  {0xb1, 0x61, 0xb6, 0x36, 0x52, 0x27, 0xd7, 0x8e}});
84 
85 #endif /* __XPLC_ISERVICEMANAGER_H__ */
IServiceManager
The XPLC service manager interface.
Definition: IServiceManager.h:58
IServiceManager::addFirstHandler
virtual void addFirstHandler(IServiceHandler *)=0
Register a handler to be handled by this manager, explicitly adding it to the beginning of the list (...
IServiceManager::removeHandler
virtual void removeHandler(IServiceHandler *)=0
Remove a handler from the list.
UNSTABLE_INTERFACE
#define UNSTABLE_INTERFACE
Used to mark an interface as unstable.
Definition: IObject.h:46
IObject.h
This file contains the XPLC foundation interface.
IServiceManager::addLastHandler
virtual void addLastHandler(IServiceHandler *)=0
Register a handler to be handled by this manager, explicitly adding it to the end of the list (lowest...
IServiceHandler
Interface to an object which can be used to find other objects, given their UUIDs.
Definition: IServiceHandler.h:43
DEFINE_IID
DEFINE_IID(IServiceManager, {0x22bdabd9, 0xa63a, 0x4b5e, {0xb1, 0x61, 0xb6, 0x36, 0x52, 0x27, 0xd7, 0x8e}})
IServiceManager's IID.
IServiceHandler.h
The service handler interface.
IServiceManager::addHandler
virtual void addHandler(IServiceHandler *)=0
Register a handler to be handled by this manager.