24 #include <odb/callback.hxx> 43 static void validate(
const Zone &z, std::set<ZoneId> &zone_ids);
59 #pragma db object callback(validation_callback) optimistic 64 virtual ZoneId id()
const override;
66 virtual std::string alias()
const override;
68 virtual std::string description()
const override;
70 virtual void alias(
const std::string &alias)
override;
72 virtual void description(
const std::string &desc)
override;
74 virtual Type type()
const override;
76 virtual void type(Type t)
override;
78 virtual std::vector<ZoneLPtr> children()
const override;
80 virtual std::vector<DoorLPtr> doors()
const override;
82 virtual void clear_children()
override;
84 virtual void clear_doors()
override;
86 virtual void add_door(
DoorLPtr door)
override;
88 virtual void add_child(
ZoneLPtr zone)
override;
97 void validation_callback(odb::callback_event e, odb::database &)
const;
107 #pragma db value_not_null 110 #pragma db value_not_null 113 #pragma db value_not_null inverse(children_) 120 friend class odb::access;
std::vector< ZoneLPtr > children_
This is the header file for a generated source file, GitSHA1.cpp.
odb::lazy_shared_ptr< Door > DoorLPtr
std::vector< DoorLPtr > doors_
static void validate(const Zone &z, std::set< ZoneId > &zone_ids)
Perform validation of the zone.
static void validate_type(IZone::Type value)
Validate that the integer value of the type is a correct type for a zone.
A Zone is a container for doors and other zone.
std::vector< ZoneLWPtr > parents_
odb::lazy_shared_ptr< Zone > ZoneLPtr
This is class that can be used to access some object's internal.