00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 namespace stactiverecord {
00033 class CUDPropertyRegister {
00034 private:
00035 std::map<int, SarVector<std::string> > newprop;
00036 std::map<int, SarVector<std::string> > changedprop;
00037 std::map<int, SarVector<std::string> > deletedprop;
00038 protected:
00040 void register_new(std::string key, coltype ct);
00042 void register_change(std::string key, coltype ct);
00044 void register_delete(std::string key, coltype ct);
00045
00047 bool is_registered_new(std::string key, coltype ct);
00049 bool is_registered_changed(std::string key, coltype ct);
00051 bool is_registered_deleted(std::string key, coltype ct);
00052
00054 void unregister_new(std::string key, coltype ct);
00056 void unregister_change(std::string key, coltype ct);
00058 void unregister_delete(std::string key, coltype ct);
00059
00061 void get_new(SarVector<std::string>& v, coltype ct);
00063 void get_changed(SarVector<std::string>& v, coltype ct);
00065 void get_deleted(SarVector<std::string>& v, coltype ct);
00066
00068 void clear_registers();
00070 void dump_registers();
00071 };
00072
00073 };