/usr/include/wvstreams/xplc/IServiceManager.h is in libwvstreams-dev 4.6.1-2build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* XPLC - Cross-Platform Lightweight Components
* Copyright (C) 2000-2002, Pierre Phaneuf
* Copyright (C) 2002, Net Integration Technologies, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
* as published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
* USA
*/
#ifndef __XPLC_ISERVICEMANAGER_H__
#define __XPLC_ISERVICEMANAGER_H__
#if defined(__GNUC__) && __GNUC__ > 3
# pragma GCC system_header
#endif
/** \file
*
* The service manager interface.
*/
#include <xplc/IObject.h>
#include <xplc/IServiceHandler.h>
/** \interface IServiceManager IServiceManager.h xplc/IServiceManager.h
*
* The %XPLC service manager interface.
*
* To do anything with %XPLC, you need to use the service manager. You
* can obtain it by calling XPLC_getServiceManager().
*
* The service manager knows how to find objects from their UUID. It
* does so by searching a list of service handlers (objects that
* implement the IServiceHandler interface), querying them in turn
* until the object is found.
*
* The service handlers are those who know how to find objects through
* various means. For example, one might get objects from a statically
* defined list of objects, another might search a directory for
* plugins, etc...
*
* If you want to provide an IServiceHandler, you should register with
* the service manager.
*/
class IServiceManager: public IServiceHandler {
UNSTABLE_INTERFACE
public:
/**
* Register a handler to be handled by this manager.
*/
virtual void addHandler(IServiceHandler*) = 0;
/** Register a handler to be handled by this manager, explicitly
* adding it to the beginning of the list (highest priority).
*/
virtual void addFirstHandler(IServiceHandler*) = 0;
/** Register a handler to be handled by this manager, explicitly
* adding it to the end of the list (lowest priority).
*/
virtual void addLastHandler(IServiceHandler*) = 0;
/** Remove a handler from the list.
*/
virtual void removeHandler(IServiceHandler*) = 0;
};
/// IServiceManager's IID
DEFINE_IID(IServiceManager, {0x22bdabd9, 0xa63a, 0x4b5e,
{0xb1, 0x61, 0xb6, 0x36, 0x52, 0x27, 0xd7, 0x8e}});
#endif /* __XPLC_ISERVICEMANAGER_H__ */
|