MapTransform Class Referenceabstract
Inheritance diagram for MapTransform:
Inheritance graph
Collaboration diagram for MapTransform:
Collaboration graph

Public Member Functions

 MapTransform (ConfigFile *cf, int section)
 
virtual int ProcessMessage (QueuePointer &resp_queue, player_msghdr *hdr, void *data)
 Message handler. More...
 
int Setup ()
 Initialize the driver. More...
 
int Shutdown ()
 Finalize the driver. More...
 
- Public Member Functions inherited from Driver
bool HasSubscriptions ()
 
virtual void Publish (player_devaddr_t addr, QueuePointer &queue, uint8_t type, uint8_t subtype, void *src=NULL, size_t deprecated=0, double *timestamp=NULL, bool copy=true)
 Publish a message via one of this driver's interfaces. More...
 
virtual void Publish (player_devaddr_t addr, uint8_t type, uint8_t subtype, void *src=NULL, size_t deprecated=0, double *timestamp=NULL, bool copy=true)
 Publish a message via one of this driver's interfaces. More...
 
virtual void Publish (QueuePointer &queue, player_msghdr_t *hdr, void *src, bool copy=true)
 Publish a message via one of this driver's interfaces. More...
 
virtual void Publish (player_msghdr_t *hdr, void *src, bool copy=true)
 Publish a message via one of this driver's interfaces. More...
 
 Driver (ConfigFile *cf, int section, bool overwrite_cmds, size_t queue_maxlen, int interf)
 Constructor for single-interface drivers. More...
 
 Driver (ConfigFile *cf, int section, bool overwrite_cmds=true, size_t queue_maxlen=PLAYER_MSGQUEUE_DEFAULT_MAXLEN)
 Constructor for multiple-interface drivers. More...
 
virtual ~Driver ()
 Destructor.
 
int GetError ()
 Get last error value. More...
 
virtual int Subscribe (player_devaddr_t addr)
 Subscribe to this driver. More...
 
virtual int Subscribe (QueuePointer &, player_devaddr_t)
 Subscribe to this driver. More...
 
virtual int Unsubscribe (player_devaddr_t addr)
 Unsubscribe from this driver. More...
 
virtual int Unsubscribe (QueuePointer &, player_devaddr_t)
 Unsubscribe from this driver. More...
 
virtual int Terminate ()
 Terminate the driver. More...
 
void ProcessMessages (int maxmsgs)
 Process pending messages. More...
 
void ProcessMessages (void)
 Process pending messages. More...
 
virtual void Update ()
 Update non-threaded drivers. More...
 
virtual int ProcessInternalMessages (QueuePointer &resp_queue, player_msghdr *hdr, void *data)
 Internal message handler. More...
 
virtual bool RegisterProperty (const char *key, Property *property, ConfigFile *cf, int section)
 Property registration. More...
 
virtual bool RegisterProperty (Property *property, ConfigFile *cf, int section)
 Property registration. More...
 

Protected Member Functions

int GetMap ()
 
virtual int Transform ()=0
 
- Protected Member Functions inherited from Driver
int AddInterface (player_devaddr_t addr)
 Add an interface. More...
 
int AddInterface (player_devaddr_t *addr, ConfigFile *cf, int section, int code, const char *key=NULL)
 Add an interface. More...
 
void SetError (int code)
 Set/reset error code.
 
virtual bool Wait (double TimeOut=0.0)
 Wait for new data to arrive on the driver's queue. More...
 
int AddFileWatch (int fd, bool ReadWatch=true, bool WriteWatch=false, bool ExceptWatch=true)
 Wake up the driver if the specified event occurs on the file descriptor.
 
int RemoveFileWatch (int fd, bool ReadWatch=true, bool WriteWatch=false, bool ExceptWatch=true)
 Remove a previously added watch, call with the same arguments as when adding the watch.
 
virtual void Lock (void)
 Lock access between the server and driver threads. More...
 
virtual void Unlock (void)
 Unlock access to driver internals. More...
 
virtual void SubscriptionLock (void)
 Lock to protect the subscription count for the driver.
 
virtual void SubscriptionUnlock (void)
 Unlock to protect the subscription count for the driver. More...
 
virtual void TestCancel ()
 enable thread cancellation and test for cancellation More...
 

Protected Attributes

player_map_info_t source_map
 
player_devaddr_t source_map_addr
 
char * source_data
 
player_map_info_t new_map
 
char * new_data
 

Additional Inherited Members

- Public Attributes inherited from Driver
QueuePointer ret_queue
 Last requester's queue. More...
 
player_devaddr_t device_addr
 Default device address (single-interface drivers)
 
int entries
 Total number of entries in the device table using this driver. More...
 
bool alwayson
 Always on flag. More...
 
QueuePointer InQueue
 Queue for all incoming messages for this driver.
 

Member Function Documentation

◆ ProcessMessage()

int MapTransform::ProcessMessage ( QueuePointer resp_queue,
player_msghdr hdr,
void *  data 
)
virtual

Message handler.

This function is called once for each message in the incoming queue. Reimplement it to provide message handling. Return 0 if you handled the message and -1 otherwise

Parameters
resp_queueThe queue to which any response should go.
hdrThe message header
dataThe message body

Reimplemented from Driver.

References player_map_data::col, player_map_data::data, player_map_data::data_count, player_map_data::data_range, player_map_data::height, Message::MatchMessage(), PLAYER_CAPABILITIES_REQ, PLAYER_MAP_REQ_GET_DATA, PLAYER_MAP_REQ_GET_INFO, PLAYER_MSG0, PLAYER_MSG4, PLAYER_MSGTYPE_REQ, PLAYER_MSGTYPE_RESP_ACK, PLAYER_WARN2, player_map_data::row, and player_map_data::width.

Here is the call graph for this function:

◆ Setup()

int MapTransform::Setup ( void  )
virtual

Initialize the driver.

This function is called with the first client subscribes; it MUST be implemented by the driver.

Returns
Returns 0 on success.

Reimplemented from Driver.

References Message::GetPayload(), PLAYER_ERROR, PLAYER_MAP_REQ_GET_INFO, PLAYER_MSGTYPE_REQ, Device::Request(), and Device::Subscribe().

Here is the call graph for this function:

◆ Shutdown()

int MapTransform::Shutdown ( void  )
virtual

Finalize the driver.

This function is called with the last client unsubscribes.

Returns
Returns 0 on success.

Reimplemented from Driver.


The documentation for this class was generated from the following files: