18 #include "pandabase.h"
20 #include "clientDevice.h"
22 #include "typedReferenceCount.h"
24 #include "vector_string.h"
25 #include "vector_int.h"
26 #include "clockObject.h"
27 #include "pointerTo.h"
28 #include "coordinateSystem.h"
31 #include "ipc_thread.h"
54 bool fork_asynchronous_thread(
double poll_time);
55 INLINE
bool is_forked()
const;
57 INLINE
double get_last_poll_time()
const;
59 INLINE
void set_coordinate_system(CoordinateSystem cs);
60 INLINE CoordinateSystem get_coordinate_system()
const;
64 const string &device_name);
68 const string &device_name)=0;
70 virtual bool disconnect_device(
TypeHandle device_type,
71 const string &device_name,
74 virtual void do_poll();
82 double _last_poll_time;
88 thread *_client_thread;
91 static void* st_callback(
void *arg);
100 static void init_type() {
101 TypedReferenceCount::init_type();
102 register_type(_type_handle,
"ClientBase",
103 TypedReferenceCount::get_class_type());
106 return get_class_type();
108 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
116 #include "clientBase.I"
This is our own Panda specialization on the default STL map.
A base class for things which need to inherit from both TypedObject and from ReferenceCount.
An abstract base class for a family of client device interfaces–including trackers, buttons, dials, and other analog inputs.
TypeHandle is the identifier used to differentiate C++ class types.
Any of a number of different devices that might be attached to a ClientBase, including trackers...