Ilwis-Objects  1.0
GIS and Remote Sensing framework for data access and processing
 All Classes Functions Enumerations Pages
identity.h
1 #ifndef IDENTITY_H
2 #define IDENTITY_H
3 
4 #include "Kernel_global.h"
5 #include "ilwis.h"
6 
7 #define ANONYMOUS_PREFIX "_ANONYMOUS_"
8 #define NAME_ALIAS "_ILWISOBJECT_"
9 #define SZ_ANONYMOUS_PREFIX (strlen(ANONYMOUS_PREFIX))
10 #define SZ_NAME_ALIAS (strlen(NAME_ALIAS))
11 
12 namespace Ilwis {
13 
14 struct SerializationOptions;
15 
25 class KERNELSHARED_EXPORT Identity {
26 public:
27  friend class Resource;
28 
29  Identity();
30 
36  virtual void setCode(const QString& code);
45  QString code() const;
50  quint64 id() const;
55  virtual QString name() const;
60  void setName(const QString& n);
61  virtual QString description() const;
62  void setDescription(const QString& desc);
63 
64 protected:
65  Identity(const QString &name, qint64 id=i64UNDEF, const QString &cde=sUNDEF, const QString &descr=sUNDEF);
66 
67  void prepare(quint64 base=0);
68  void setId(quint64 newid);
69 
70 private:
71  quint64 _id;
72  QString _name;
73  QString _description;
74  QString _code;
75  static qint64 _baseId;
76 
77 };
78 
79 const quint64 idNOID = -1;
80 
81 }
82 
83 #endif // IDENTITY_H