32 static std::string get_version_string();
33 static std::string get_package_version_string();
34 static std::string get_package_host_url();
35 static std::string get_p3d_coreapi_version_string();
37 static int get_major_version();
38 static int get_minor_version();
39 static int get_sequence_version();
40 static bool is_official_version();
42 static int get_memory_alignment();
44 static std::string get_distributor();
45 static std::string get_compiler();
46 static std::string get_build_date();
47 static std::string get_git_commit();
49 static std::string get_platform();
51 MAKE_PROPERTY(version_string, get_version_string);
52 MAKE_PROPERTY(major_version, get_major_version);
53 MAKE_PROPERTY(minor_version, get_minor_version);
54 MAKE_PROPERTY(sequence_version, get_sequence_version);
55 MAKE_PROPERTY(official_version, is_official_version);
57 MAKE_PROPERTY(memory_alignment, get_memory_alignment);
59 MAKE_PROPERTY(distributor, get_distributor);
60 MAKE_PROPERTY(compiler, get_compiler);
61 MAKE_PROPERTY(build_date, get_build_date);
62 MAKE_PROPERTY(git_commit, get_git_commit);
64 MAKE_PROPERTY(platform, get_platform);
66 bool has_system(
const std::string &system)
const;
67 size_t get_num_systems()
const;
68 std::string get_system(
size_t n)
const;
69 MAKE_SEQ(get_systems, get_num_systems, get_system);
70 MAKE_SEQ_PROPERTY(systems, get_num_systems, get_system);
72 std::string get_system_tag(
const std::string &system,
const std::string &tag)
const;
74 void add_system(
const std::string &system);
75 void set_system_tag(
const std::string &system,
const std::string &tag,
76 const std::string &value);
78 bool heap_trim(
size_t pad);
80 void output(std::ostream &out)
const;
81 void write(std::ostream &out)
const;
86 void reset_system_names();
88 void set_package_version_string(
const std::string &package_version_string);
89 void set_package_host_url(
const std::string &package_host_url);
97 bool _system_names_dirty;
99 std::string _package_version_string;
100 std::string _package_host_url;
108 static void init_type() {
118 inline std::ostream &operator << (std::ostream &out,
const PandaSystem &ps) {
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This class is used as a namespace to group several global properties of Panda.
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...
A global object that maintains the set of ConfigPages everywhere in the world, and keeps them in sort...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
TypeHandle is the identifier used to differentiate C++ class types.