19class CLASS_DECL_ACME property_object :
20 virtual public ::matter
25 ::pointer<::property_set> m_ppropertyset;
29 ~property_object()
override;
32 void destroy()
override;
35 virtual void notify_on_destroy(::property_object * pcontextobjectFinish)
override;
39 virtual void on_ping();
40 virtual bool is_pinging()
const;
49 virtual ::object * source_channel();
57 virtual void handle_exception(const ::exception& e);
60 virtual void add_exception(const ::exception & e);
61 virtual void on_catch_all_exception();
87 virtual ::string get_object_file_name();
89 virtual ::file::path get_ini_configuration_path();
91 virtual bool include_hostname_in_configuration_path();
93 virtual void read_ini_configuration();
94 virtual void write_ini_configuration();
96 virtual void read_configuration_from_ini(const ::payload & payloadFile);
97 virtual void write_configuration_to_ini(const ::payload & payloadFile);
99 bool has_property(
const atom &
atom)
const;
100 ::property * lookup_property(
const atom &
atom)
const;
103 ::property_set & property_set();
104 bool has_property_set()
const;
105 bool contains(const ::property_set & set)
const;
107 using matter::set_flag;
117 ::collection::index index_of_property(const ::atom &
atom)
const;
123 ::collection::index index_of_attribute(const ::atom &
atom);
124 ::property & lookup_attribute(const ::atom&
atom);
125 ::property& attribute(const ::atom&
atom);
127 template <
typename TYPE >
128 inline bool lookup_attribute(const ::atom &
atom, TYPE & t);
130 template <
typename TYPE >
131 inline TYPE & get_attribute(const ::atom&
atom, TYPE& t);
142 ::property & property(const ::atom &
atom);
144 ::property & property(const ::atom &
atom)
const
147 return ((::property_object *)
this)->property(
atom);
152 ::payload get_payload(const ::atom &
atom, const ::payload & payloadDefault)
const;
155 ::payload& payload(const ::atom&
atom) {
return this->property(
atom); }
157 ::payload payload(const ::atom&
atom)
const;
160 ::collection::index index_of_payload(const ::atom &
atom)
const;
164 string get_string(const ::atom&
atom, const ::scoped_string& scopedstrDefault = {})
const;
166 ::i32 get_int(const ::atom &
atom, ::i32 iDefault = 0)
const;
168 ::u32 get_u32(const ::atom &
atom, ::u32 uDefault = 0)
const;
174 template < ::prototype_subparticle TYPE >
175 inline TYPE * cast(const ::atom &
atom)
const;
177 void defer_propset();
179 bool is_true(const ::atom &
atom)
const;
180 bool is_false(const ::atom &
atom)
const;
181 bool is_true_or_empty(const ::atom &
atom)
const;
188 virtual void property_set_replace(
string & str)
const;
189 virtual string property_set_evaluate(const ::scoped_string & scopedstr)
const;
190 virtual string property_set_get_evaluation(const ::scoped_string & scopedstr)
const;
191 virtual string property_set_get_string(const ::scoped_string & scopedstr)
const;
192 virtual bool property_set_get_string(
string & strResult, const ::scoped_string & scopedstr)
const;
193 virtual bool property_set_get_evaluation(
string & strResult, const ::scoped_string & scopedstr)
const;
197 virtual void notify_property_changed(::property* pproperty, const ::action_context& actioncontext);
199 virtual void on_property_changed(::property * pproperty, const ::action_context& actioncontext);
205 virtual ::property_object * parent_property_set_holder()
const;