00001 // Filename: interrogateManifest.I 00002 // Created by: drose (11Aug00) 00003 // 00004 //////////////////////////////////////////////////////////////////// 00005 // 00006 // PANDA 3D SOFTWARE 00007 // Copyright (c) 2001, Disney Enterprises, Inc. All rights reserved 00008 // 00009 // All use of this software is subject to the terms of the Panda 3d 00010 // Software license. You should have received a copy of this license 00011 // along with this source code; you will also find a current copy of 00012 // the license at http://www.panda3d.org/license.txt . 00013 // 00014 // To contact the maintainers of this program write to 00015 // panda3d@yahoogroups.com . 00016 // 00017 //////////////////////////////////////////////////////////////////// 00018 00019 00020 //////////////////////////////////////////////////////////////////// 00021 // Function: InterrogateManifest::Constructor 00022 // Access: Public 00023 // Description: 00024 //////////////////////////////////////////////////////////////////// 00025 INLINE InterrogateManifest:: 00026 InterrogateManifest(InterrogateModuleDef *def) : 00027 InterrogateComponent(def) 00028 { 00029 _flags = 0; 00030 _int_value = 0; 00031 _type = 0; 00032 _getter = 0; 00033 } 00034 00035 //////////////////////////////////////////////////////////////////// 00036 // Function: InterrogateManifest::Copy Constructor 00037 // Access: Public 00038 // Description: 00039 //////////////////////////////////////////////////////////////////// 00040 INLINE InterrogateManifest:: 00041 InterrogateManifest(const InterrogateManifest ©) { 00042 (*this) = copy; 00043 } 00044 00045 //////////////////////////////////////////////////////////////////// 00046 // Function: InterrogateManifest::Copy Assignment Operator 00047 // Access: Public 00048 // Description: 00049 //////////////////////////////////////////////////////////////////// 00050 INLINE void InterrogateManifest:: 00051 operator = (const InterrogateManifest ©) { 00052 InterrogateComponent::operator = (copy); 00053 _flags = copy._flags; 00054 _definition = copy._definition; 00055 _int_value = copy._int_value; 00056 _type = copy._type; 00057 _getter = copy._getter; 00058 } 00059 00060 00061 //////////////////////////////////////////////////////////////////// 00062 // Function: InterrogateManifest::get_definition 00063 // Access: Public 00064 // Description: 00065 //////////////////////////////////////////////////////////////////// 00066 INLINE const string &InterrogateManifest:: 00067 get_definition() const { 00068 return _definition; 00069 } 00070 00071 //////////////////////////////////////////////////////////////////// 00072 // Function: InterrogateManifest::has_type 00073 // Access: Public 00074 // Description: 00075 //////////////////////////////////////////////////////////////////// 00076 INLINE bool InterrogateManifest:: 00077 has_type() const { 00078 return (_flags & F_has_type) != 0; 00079 } 00080 00081 //////////////////////////////////////////////////////////////////// 00082 // Function: InterrogateManifest::get_type 00083 // Access: Public 00084 // Description: 00085 //////////////////////////////////////////////////////////////////// 00086 INLINE TypeIndex InterrogateManifest:: 00087 get_type() const { 00088 return _type; 00089 } 00090 00091 //////////////////////////////////////////////////////////////////// 00092 // Function: InterrogateManifest::has_getter 00093 // Access: Public 00094 // Description: 00095 //////////////////////////////////////////////////////////////////// 00096 INLINE bool InterrogateManifest:: 00097 has_getter() const { 00098 return (_flags & F_has_getter) != 0; 00099 } 00100 00101 //////////////////////////////////////////////////////////////////// 00102 // Function: InterrogateManifest::get_getter 00103 // Access: Public 00104 // Description: 00105 //////////////////////////////////////////////////////////////////// 00106 INLINE FunctionIndex InterrogateManifest:: 00107 get_getter() const { 00108 return _getter; 00109 } 00110 00111 //////////////////////////////////////////////////////////////////// 00112 // Function: InterrogateManifest::has_int_value 00113 // Access: Public 00114 // Description: 00115 //////////////////////////////////////////////////////////////////// 00116 INLINE bool InterrogateManifest:: 00117 has_int_value() const { 00118 return (_flags & F_has_int_value) != 0; 00119 } 00120 00121 //////////////////////////////////////////////////////////////////// 00122 // Function: InterrogateManifest::get_int_value 00123 // Access: Public 00124 // Description: 00125 //////////////////////////////////////////////////////////////////// 00126 INLINE int InterrogateManifest:: 00127 get_int_value() const { 00128 return _int_value; 00129 } 00130 00131 00132 INLINE ostream & 00133 operator << (ostream &out, const InterrogateManifest &manifest) { 00134 manifest.output(out); 00135 return out; 00136 } 00137 00138 INLINE istream & 00139 operator >> (istream &in, InterrogateManifest &manifest) { 00140 manifest.input(in); 00141 return in; 00142 }