FreeCalypso > hg > fc-magnetite
diff src/gpf2/inc/pco_view_templ.h @ 1:864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 25 Sep 2016 23:38:58 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/gpf2/inc/pco_view_templ.h Sun Sep 25 23:38:58 2016 +0000 @@ -0,0 +1,341 @@ +/* ++----------------------------------------------------------------------------- +| Project : PCO2 +| Modul : PCO_VIEW_TEMPLATE ++----------------------------------------------------------------------------- +| Copyright 2002 Texas Instruments Berlin, AG +| All rights reserved. +| +| This file is confidential and a trade secret of Texas +| Instruments Berlin, AG +| The receipt of or possession of this file does not convey +| any rights to reproduce or disclose its contents or to +| manufacture, use, or sell anything it may describe, in +| whole, or in part, without the specific written consent of +| Texas Instruments Berlin, AG. ++----------------------------------------------------------------------------- +| Purpose : This Modul contains a template of a PCO viewer class +| with basic functions for several PCO control messages. +| It can either be used just to connect to a PCO server or +| can be specialized and extended like in PCOView_templ. ++----------------------------------------------------------------------------- +*/ + +#ifndef _PCO_VIEW_TEMPL_H_ +#define _PCO_VIEW_TEMPL_H_ + +/*==== INCLUDES ===================================================*/ +#include "pco_const.h" + +/*==== DEFINES =====================================================*/ + +/*==== PROTOTYPES ==================================================*/ + +/*==== CLASSES =====================================================*/ +class PCOView_templ +{ +public: + /* + +-------------------------------------------------------------------------------+ + | PROJECT : PCO2 MODULE : PCO_VIEW_TEMPL | + | STATE : code ROUTINE : PCOView_templ::PCOView_templ | + +-------------------------------------------------------------------------------+ + + PURPOSE : initilizes viewer process + + PARAMS: primq .. name of primitive queue + ctrlq .. name of control queue + + RETURNS: + + */ + PCOView_templ(const char* primq_name="", const char* ctrlq_name=""); + virtual ~PCOView_templ(); + + /* + +-------------------------------------------------------------------------------+ + | PROJECT : PCO2 MODULE : PCO_VIEW_TEMPL | + | STATE : code ROUTINE : PCOView_templ::connect | + +-------------------------------------------------------------------------------+ + + PURPOSE : tries to connect with server + + PARAMS: + + RETURNS: 0 .. sucess + -1 .. Server not found + -2 .. error while contacting Server + + */ + int connect(void); + + /* + +-------------------------------------------------------------------------------+ + | PROJECT : PCO2 MODULE : PCO_VIEW_TEMPL | + | STATE : code ROUTINE : PCOView_templ::subscribe | + +-------------------------------------------------------------------------------+ + + PURPOSE : tries to subscribe for live data from server + + PARAMS: mobileId .. name of mobile to receive live data from (may be empty) + + RETURNS: 0 .. sucess + -1 .. Server not found + -2 .. error while contacting Server + + */ + int subscribe(const char* mobileId); + + /* + +-------------------------------------------------------------------------------+ + | PROJECT : PCO2 MODULE : PCO_VIEW_TEMPL | + | STATE : code ROUTINE : PCOView_templ::send2srv | + +-------------------------------------------------------------------------------+ + + PURPOSE : tries to send a data buffer to the server + + PARAMS: buf ... pointer to buffer + size .. size of buffer + id ... message id + + RETURNS: 0 .. sucess + -1 .. Server not found + -2 .. error while contacting Server + + */ + int send2srv(void* buf, U16 size, U16 id); + + /* + +-------------------------------------------------------------------------------+ + | PROJECT : PCO2 MODULE : PCO_VIEW_TEMPL | + | STATE : code ROUTINE : PCOView_templ::disconnect | + +-------------------------------------------------------------------------------+ + + PURPOSE : tries to disconnect from server + + PARAMS: + + RETURNS: 0 .. sucess + -1 .. Server not found + -2 .. error while contacting Server + + */ + int disconnect(void); + + /* + +-------------------------------------------------------------------------------+ + | PROJECT : PCO2 MODULE : PCO_VIEW_TEMPL | + | STATE : code ROUTINE : PCOView_templ::unsubscribe | + +-------------------------------------------------------------------------------+ + + PURPOSE : tries to unsubscribe from livedata stream from server + + PARAMS: + + RETURNS: 0 .. sucess + -1 .. Server not found + -2 .. error while contacting Server + + */ + int unsubscribe(void); + + /* + +-------------------------------------------------------------------------------+ + | PROJECT : PCO2 MODULE : PCO_VIEW_TEMPL | + | STATE : code ROUTINE : PCOView_templ::on_connected | + +-------------------------------------------------------------------------------+ + + PURPOSE : reaction to PCO_CONNECTED from server + + PARAMS: buf .. data containing server type + sender .. server queue name + + RETURNS: 0 .. server type supported + -1 .. server type not supported + + */ + virtual int on_connected(const void *buf,const char* sender); + + /* + +---------------------------------------------------------------------------------+ + | PROJECT : PCO2 MODULE : PCO_VIEW_TEMPL | + | STATE : code ROUTINE : PCOView_templ::req_logfile_info | + +---------------------------------------------------------------------------------+ + + PURPOSE : contacts server to request info about a specified logfile + + PARAMS: fname .. name of logfile (can be full path) + + RETURNS: 0 .. sucess + -1 .. Server not found + -2 .. error while contacting Server + + */ + int req_logfile_info(const char* fname); + + /* + +-------------------------------------------------------------------------------+ + | PROJECT : PCO2 MODULE : PCO_VIEW_TEMPL | + | STATE : code ROUTINE : PCOView_templ::get_logdata | + +-------------------------------------------------------------------------------+ + + PURPOSE : contacts server to request logged data + + PARAMS: begin, end .. index area requested + + RETURNS: 0 .. sucess + -1 .. Server not found + -2 .. error while contacting Server + + */ + int get_logdata(ULONG begin, ULONG end); + + /* + +-------------------------------------------------------------------------------+ + | PROJECT : PCO2 MODULE : PCO_VIEW_TEMPL | + | STATE : code ROUTINE : PCOView_templ::open_logfile | + +-------------------------------------------------------------------------------+ + + PURPOSE : contacts server to request logged data from a specified logfile + + PARAMS: fname .. name of logfile (full path) + begin, end .. index area requested + + RETURNS: 0 .. sucess + -1 .. Server not found + -2 .. error while contacting Server + + */ + int open_logfile(const char* fname, ULONG begin=0, ULONG end=0); + + /* + +-------------------------------------------------------------------------------+ + | PROJECT : PCO2 MODULE : PCO_VIEW_TEMPL | + | STATE : code ROUTINE : PCOView_templ::set_filter | + +-------------------------------------------------------------------------------+ + + PURPOSE : contacts server to change filter settings + + PARAMS: list .. '\0'-separated list of names of entitities + (terminated by "\0\0") + primitives/traces from entities in -list- + should not be forwarded + + prim_trace + .. parameter to disable/enable general forwarding of + primitives/traces: + 0 .. fowarding of everything (default) + 1 .. no primitives + 2 .. no traces + positiv_list + .. if true, only primitives/traces from entities in -list- + will be forwarded + + RETURNS: 0 .. sucess + -1 .. Server not found + -2 .. error while contacting Server + + */ + int set_filter(const char* list, char prim_trace=0, bool positiv_list=false); + + /* + +-------------------------------------------------------------------------------+ + | PROJECT : PCO2 MODULE : PCO_VIEW_TEMPL | + | STATE : code ROUTINE : PCOView_templ::self_send | + +-------------------------------------------------------------------------------+ + + PURPOSE : tries to send a data buffer to the control queue of this viewer + + PARAMS: buf ... pointer to buffer + size .. size of buffer + id ... message id + + RETURNS: 0 .. sucess + -1 .. receiver not found + -2 .. error while contacting receiver + + */ + int self_send(void* buf, U16 size, U16 id); + + const char *primq_name() { return m_primq_name;} + const char *ctrlq_name() { return m_ctrlq_name;} + + /* + +-------------------------------------------------------------------------------+ + | PROJECT : PCO2 MODULE : PCO_VIEW_TEMPL | + | STATE : code ROUTINE : PCOView_templ::start_logfile | + +-------------------------------------------------------------------------------+ + + PURPOSE : contacts server to start logging data received in the given queue + into the given logfile + + PARAMS: logfile .. name of the logfile + (if no path is given the current server-path is used) + queue .. name of the queue the server shall receive data + (it will be created by the server) + (if no queue is given, m_ctrlq_name+"_LF" is used) + + RETURNS: 0 .. sucess + -1 .. receiver not found + -2 .. error while contacting receiver + */ + int start_logfile(const char* logfile, const char* queue=NULL); + + /* + +-------------------------------------------------------------------------------+ + | PROJECT : PCO2 MODULE : PCO_VIEW_TEMPL | + | STATE : code ROUTINE : PCOView_templ::stop_logfile | + +-------------------------------------------------------------------------------+ + + PURPOSE : contacts server to stop logging data received in the given queue + + PARAMS: queue .. name of the queue the server received data + (if no queue is given, m_ctrlq_name+"_LF" is used) + + RETURNS: 0 .. sucess + -1 .. receiver not found + -2 .. error while contacting receiver + */ + int stop_logfile(const char* queue=NULL); + + /* + +-------------------------------------------------------------------------------+ + | PROJECT : PCO2 MODULE : PCO_VIEW_TEMPL | + | STATE : code ROUTINE : PCOView_templ::send_raw_data | + +-------------------------------------------------------------------------------+ + + PURPOSE : sends raw data to the given queue + + PARAMS: rawdata .. the data + rawsize .. size of rawdata + queue .. name of the queue the data will be sent to + (if no queue is given, m_ctrlq_name+"_LF" is used) + + RETURNS: 0 .. sucess + -1 .. receiver not found + -2 .. error while contacting receiver + */ + int send_raw_data(const void* rawdata, U16 rawsize, const char* queue=NULL); + + /* + +-------------------------------------------------------------------------------+ + | PROJECT : PCO2 MODULE : PCO_VIEW_TEMPL | + | STATE : code ROUTINE : PCOView_templ::set_srv_name | + +-------------------------------------------------------------------------------+ + + PURPOSE : change the name of the server queue + + PARAMS: sname ... new name of server queue + + */ + void set_srv_name(const char* sname); + + U8 srv_type() const { return m_srv_type;} + +protected: + char m_primq_name[MAX_QNAME_LEN+1],m_ctrlq_name[MAX_QNAME_LEN+1]; + char m_srvq_name[MAX_QNAME_LEN+1]; + U8 m_srv_type; +}; + +#endif /* _PCO_VIEW_TEMPL_H_ */