mirror of
https://github.com/edeproject/ede.git
synced 2023-08-10 21:13:03 +03:00
eed5749909
Also center ede-launch window.
44 lines
970 B
C++
44 lines
970 B
C++
//
|
|
// Handler.hh for pekwm
|
|
// Copyright (C) 2004-2009 Claes Nasten <pekdon{@}pekdon{.}net>
|
|
//
|
|
// This program is licensed under the GNU GPL.
|
|
// See the LICENSE file for more information.
|
|
//
|
|
|
|
#include "../config.h"
|
|
|
|
#ifndef _HANDLER_HH_
|
|
#define _HANDLER_HH_
|
|
|
|
#include <string>
|
|
|
|
template<class T>
|
|
class HandlerEntry {
|
|
public:
|
|
HandlerEntry(const std::string &name) : _name(name), _ref(0) { }
|
|
virtual ~HandlerEntry(void) { }
|
|
|
|
const std::string &getName(void) { return _name; }
|
|
|
|
inline T getData(void) { return _data; }
|
|
inline void setData(T data) { _data = data; }
|
|
|
|
inline uint getRef(void) const { return _ref; }
|
|
inline void incRef(void) { _ref++; }
|
|
inline void decRef(void) { if (_ref > 0) { _ref--; }
|
|
}
|
|
|
|
inline bool operator==(const std::string &name) {
|
|
return (strcasecmp(_name.c_str(), name.c_str()) == 0);
|
|
}
|
|
|
|
private:
|
|
std::string _name; // id
|
|
uint _ref; // ref count
|
|
|
|
T _data;
|
|
};
|
|
|
|
#endif // _HANDLER_HH_
|