blob: 6aa64d945d6d450d123bba7a16bbc8df067810b8 (
plain) (
blame)
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
|
#ifndef _NAMED_H
#define _NAMED_H
#include <bfc/common.h>
#include <bfc/string/StringW.h>
class NOVTABLE NamedW
{
public:
NamedW(const wchar_t *initial_name=NULL) : name(initial_name) {}
virtual ~NamedW() {} // placeholder to ensure name is destructed properly
const wchar_t *getName() const { return name; }
const wchar_t *getNameSafe(const wchar_t *defval=NULL) const {
const wchar_t *str = name;
return str ? str : (defval ? defval : L"(null)");
}
void setName(const wchar_t *newname) { if (name.isequal(newname)) return; name = newname; onSetName(); }
// override this to catch name settings
virtual void onSetName() {}
private:
StringW name;
};
#endif
|