vrpn  07.33
Virtual Reality Peripheral Network
vrpn_BaseClass.h File Reference
#include <stdio.h>
#include "vrpn_Configure.h"
#include "vrpn_Connection.h"
#include "vrpn_Shared.h"
#include "vrpn_Types.h"
Include dependency graph for vrpn_BaseClass.h:

Go to the source code of this file.

Classes

class  vrpn_TextPrinter
 Class that handles text/warning/error printing for all objects in the system. More...
 
class  vrpn_TextPrinter::vrpn_TextPrinter_Watch_Entry
 Structure to hold the objects that are being watched. More...
 
class  vrpn_BaseClassUnique
 INTERNAL class to hold members that there should only be one copy of even when a class inherits from multiple vrpn_BaseClasses because it inherits from multiple user-level classes. Note that not everything in vrpnBaseClass should be here, because (for example) the registration of types should be done for each parent class. More...
 
class  vrpn_BaseClassUnique::SendTextMessageBoundCall
 
class  vrpn_BaseClass
 Class from which all user-level (and other) classes that communicate with vrpn_Connections should derive. More...
 
class  vrpn_Callback_List< CALLBACK_STRUCT >
 
struct  CHANGELIST_ENTRY< CALLBACK_STRUCT >
 

Enumerations

enum  vrpn_TEXT_SEVERITY { vrpn_TEXT_NORMAL = 0, vrpn_TEXT_WARNING = 1, vrpn_TEXT_ERROR = 2 }
 Since the sending of text messages has been pulled into the base class (so that every object can send error/warning/info messages this way), these definitions have been pulled in here as well. More...
 

Variables

const int vrpn_MAX_BCADRS = 100
 Internal value for number of BaseClass addresses. More...
 
const unsigned vrpn_MAX_TEXT_LEN = 1024
 
class VRPN_API vrpn_BaseClass
 
VRPN_API vrpn_TextPrinter vrpn_System_TextPrinter
 Definition of the system TextPrinter object that prints messages for all created objects. More...
 

Detailed Description

All types of client/server/peer objects in VRPN should be derived from the vrpn_BaseClass type described here. This includes Tracker, Button, Analog, Clock, Dial, ForceDevice, Sound, and Text; it should include any user-defined objects as well.

This class both implements code that will be shared by most (if not all) objects in the system and forms a skeleton for the definition of new objects by requiring certain virtual member functions to be defined.

See the VRPN web pages or another simple type (such as vrpn_Analog) for an example of how to create a new VRPN object type using this as a base class.

Definition in file vrpn_BaseClass.h.

Enumeration Type Documentation

◆ vrpn_TEXT_SEVERITY

Since the sending of text messages has been pulled into the base class (so that every object can send error/warning/info messages this way), these definitions have been pulled in here as well.

Enumerator
vrpn_TEXT_NORMAL 
vrpn_TEXT_WARNING 
vrpn_TEXT_ERROR 

Definition at line 100 of file vrpn_BaseClass.h.

Variable Documentation

◆ vrpn_BaseClass

Definition at line 107 of file vrpn_BaseClass.h.

◆ vrpn_MAX_BCADRS

const int vrpn_MAX_BCADRS = 100

Internal value for number of BaseClass addresses.

Definition at line 94 of file vrpn_BaseClass.h.

Referenced by vrpn_BaseClassUnique::register_autodeleted_handler().

◆ vrpn_MAX_TEXT_LEN

◆ vrpn_System_TextPrinter

VRPN_API vrpn_TextPrinter vrpn_System_TextPrinter

Definition of the system TextPrinter object that prints messages for all created objects.

Definition at line 15 of file vrpn_BaseClass.C.

Referenced by vrpn_BaseClass::init(), and vrpn_BaseClass::~vrpn_BaseClass().