Libmacro  0.2
Libmacro is an extensible macro and hotkey library.
properties.h
Go to the documentation of this file.
1 /* Libmacro - A multi-platform, extendable macro and hotkey C library
2  Copyright (C) 2013 Jonathan Pelletier, New Paradigm Software
3 
4  This library is free software; you can redistribute it and/or
5  modify it under the terms of the GNU Lesser General Public
6  License as published by the Free Software Foundation; either
7  version 2.1 of the License, or (at your option) any later version.
8 
9  This library is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  Lesser General Public License for more details.
13 
14  You should have received a copy of the GNU Lesser General Public
15  License along with this library; if not, write to the Free Software
16  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 */
18 
24 #ifndef MCR_EXTRAS_PROPERTIES_H_
25 #define MCR_EXTRAS_PROPERTIES_H_
26 
27 #include "mcr/extras/util/string.h"
28 
29 namespace mcr
30 {
32 class MCR_API IOnPropertyChanged
33 {
34 public:
36 
37  virtual void onPropertyChanged(const char *propertyName) = 0;
38 };
39 
41 class MCR_API IProperties
42 {
43 public:
45 
46 
47  virtual const char * const*properties() const = 0;
49  virtual String property(const char *name) const = 0;
51  virtual void setProperty(const char *name, const String &value) = 0;
53  virtual void *value(const char *name) = 0;
55  virtual void setValue(const char *name, void *value) = 0;
57  virtual void setOnPropertyChanged(IOnPropertyChanged *listener) = 0;
58 };
59 }
60 
61 #endif
#define MCR_DECL_INTERFACE(className)
Definition: defines.h:434
Libmacro, by Jonathan Pelletier, New Paradigm Software. Alpha version.
Definition: classes.h:31