WvStreams
include/xplc/ICategoryIterator.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) 2004, Pierre Phaneuf
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public License
8 * as published by the Free Software Foundation; either version 2.1 of
9 * the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
19 * USA
20 */
21
22#ifndef __XPLC_ICATEGORYITERATOR_H__
23#define __XPLC_ICATEGORYITERATOR_H__
24
25#if defined(__GNUC__) && __GNUC__ > 3
26# pragma GCC system_header
27#endif
28
29#include <xplc/IObject.h>
30
36class ICategoryIterator: public IObject {
38public:
40 virtual const UUID& getUuid() = 0;
42 virtual const char* getString() = 0;
44 virtual void next() = 0;
47 virtual bool done() = 0;
48};
49
50DEFINE_IID(ICategoryIterator, {0x87e48aae, 0xa1da, 0x4d9c,
51 {0xa7, 0xc0, 0x7a, 0x5b, 0x88, 0xf4, 0x01, 0x7a}});
52
53#endif /* __XPLC_ICATEGORYITERATOR_H__ */
virtual const UUID & getUuid()=0
Returns the UUID of the category entry.
virtual bool done()=0
Tests if the iterator is past the last item.
virtual const char * getString()=0
Returns the string associated with the category entry.
virtual void next()=0
Advances to the next category entry.
The basic interface which is included by all other XPLC interfaces and objects.
#define UNSTABLE_INTERFACE
Used to mark an interface as unstable.
#define DEFINE_IID(iface, u1, u2, u3, u4, u5, u6, u7, u8, u9, u10, u11)
Used to define the IID of an interface.