15#ifndef WRITABLECONFIGURABLE_H
16#define WRITABLECONFIGURABLE_H
34class EXPCL_PANDA_PUTIL WritableConfigurable :
public TypedWritable {
37 WritableConfigurable(
void ) { make_dirty(); }
38 virtual void config(
void ) { _dirty =
false; }
39 INLINE
void check_config()
const {
46 ((WritableConfigurable *)
this)->config();
50 INLINE
bool is_dirty()
const {
return _dirty; }
51 INLINE
void make_dirty() { _dirty =
true; }
65 static void init_type() {
66 TypedWritable::init_type();
68 TypedWritable::get_class_type());
70 "WriteableConfigurable");
72 virtual TypeHandle get_type()
const {
73 return get_class_type();
75 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
79 static TypeHandle _type_handle;
An ordered list of data elements, formatted in memory for transmission over a socket or writing to a ...
TypeHandle is the identifier used to differentiate C++ class types.
void record_alternate_name(TypeHandle type, const std::string &name)
Indicates an alternate name for the same type.
static TypeRegistry * ptr()
Returns the pointer to the global TypeRegistry object.
virtual void write_datagram(BamWriter *, Datagram &)=0
Writes the contents of this object to the datagram for shipping out to a Bam file.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.