ImageBase Class Reference

Inheritance diagram for ImageBase:

Inheritance graph
[legend]
Collaboration diagram for ImageBase:

Collaboration graph
[legend]
List of all members.

Detailed Description

Definition at line 62 of file imagebase.h.


Public Member Functions

 ImageBase (ConfigFile *cf, int section, bool overwrite_cmds, size_t queue_maxlen, int interf)
 ImageBase (ConfigFile *cf, int section, bool overwrite_cmds=true, size_t queue_maxlen=PLAYER_MSGQUEUE_DEFAULT_MAXLEN)
virtual ~ImageBase ()
virtual int Setup ()
 Initialize the driver.
virtual int Shutdown ()
 Finalize the driver.
int ProcessMessage (QueuePointer &resp_queue, player_msghdr *hdr, void *data)
 Message handler.

Protected Member Functions

virtual int ProcessFrame ()=0
virtual void Main ()
 Main method for driver thread.

Protected Attributes

Devicecamera_driver
player_devaddr_t camera_addr
player_camera_data_t stored_data
bool HaveData

Private Member Functions

 ImageBase (const ImageBase &)

Member Function Documentation

int ImageBase::Setup (  )  [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.

Implements Driver.

Definition at line 82 of file imagebase.cc.

References camera_addr, camera_driver, Driver::device_addr, Driver::InQueue, Device::MatchDeviceAddress(), PLAYER_ERROR, and Device::Subscribe().

Here is the call graph for this function:

int ImageBase::Shutdown (  )  [virtual]

Finalize the driver.

This function is called with the last client unsubscribes; it MUST be implemented by the driver.

Returns:
Returns 0 on success.

Implements Driver.

Definition at line 108 of file imagebase.cc.

References camera_driver, Driver::InQueue, Driver::StopThread(), and Device::Unsubscribe().

Here is the call graph for this function:

int ImageBase::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_queue The queue to which any response should go.
hdr The message header
data The message body

Reimplemented from Driver.

Definition at line 119 of file imagebase.cc.

References player_camera_data::bpp, camera_addr, player_camera_data::compression, player_camera_data::fdiv, player_camera_data::format, HaveData, player_camera_data::height, player_camera_data::image, player_camera_data::image_count, Driver::Lock(), Message::MatchMessage(), PLAYER_CAMERA_COMPRESS_JPEG, PLAYER_CAMERA_COMPRESS_RAW, PLAYER_CAMERA_DATA_STATE, PLAYER_CAMERA_FORMAT_RGB888, PLAYER_MSGTYPE_DATA, stored_data, Driver::Unlock(), and player_camera_data::width.

Here is the call graph for this function:

void ImageBase::Main (  )  [protected, virtual]

Main method for driver thread.

drivers have their own thread of execution, created using StartThread(); this is the entry point for the driver thread, and must be overloaded by all threaded drivers.

Reimplemented from Driver.

Definition at line 194 of file imagebase.cc.

References HaveData, Driver::InQueue, Driver::Lock(), Driver::ProcessMessages(), and Driver::Unlock().

Here is the call graph for this function:


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

Last updated 12 September 2005 21:38:45