亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? commandobject.h

?? an example of programming philips pegoda reader
?? H
字號:
/*
*         Copyright (c), Philips Semiconductors Gratkorn / Austria
*
*                     (C)PHILIPS Electronics N.V.2000
*       All rights are reserved. Reproduction in whole or in part is 
*      prohibited without the written consent of the copyright owner.
*  Philips reserves the right to make changes without notice at any time.
* Philips makes no warranty, expressed, implied or statutory, including but
* not limited to any implied warranty of merchantability or fitness for any
*particular purpose, or that the use will not infringe any third party patent,
* copyright or trademark. Philips must not be liable for any loss or damage
*                          arising from its use.
*/

/*! \file CommandObject.h
*
* Projekt: Host RF Reader Communication
*
* $Workfile:: CommandObject.h                                                 $ 
* $Modtime:: 26.07.01 8:33                                              $ 
* $Author:: Hb                                                          $
* $Revision:: 7                                                         $
*
*/
#ifndef COMMANDOBJECT_H
#define COMMANDOBJECT_H

#ifdef __cplusplus
extern "C" {
#endif

//----------------------------------------------------------------------------
// INCLUDES
//----------------------------------------------------------------------------
#include <OsDefs.h>

//----------------------------------------------------------------------------
// PROTOTYPE DECLARATIONS
//----------------------------------------------------------------------------
class StrBufferContainer;

/// Communication Command Object
/*!
* \ingroup hostrdcom
* Generic storage class, provides a data structure
* which stores all information needed between protocol
* layer and pruduct API layer.
*
* usage:
* <ul>
*  <li> setCommand - stores the command to be sent
*  <li> AddParam   - overridden method, sets copies data to 
*                    CommandBuffer, this provides the data to be 
*                    sent 
*  <li> GetCommandBuffer - protcol gets a pointer to CommandBuffer
*  <li> SetDataByte - Protocol copies received databytes into it
*  <li> GetParam    - overridden method, returns Data to product API
*  <li> GetDataBuffer - product API gets a pointer to DataBuffer
* </ul>
*
*/
class DLLEXP_IMP CommandObject
{
//----------------------------------------------------------------------------
// Member Functions
//----------------------------------------------------------------------------
public:    
    // default constructor
    CommandObject();
    // default destructor
    ~CommandObject();

    //! get/set Command Code to be sent  
    /*! \name Command Code
    *
    * treating the Command code to be sent via protocol
    *
    * Each function call on the reader is uniquly identified by a command
    * code. This code determines the following number of parameters and their 
    * types.
    */
    //@{
    void SetCommand (const unsigned char ccmd);
    unsigned char GetCommand ();
    //@}
    
    //! Status of the processed command
    /*!
    * \name Status
    *
    * Depending on the protocol type, the status flag of a processed 
    * command can have a different value range.
    *
    * In former protocols, there is only one byte reserved. For 
    * nowerdays and future requirements, two or four bytes are 
    * provided.
    */
    //@{
    void SetStatus(const char status);
    void SetStatus(const short status);
    void SetStatus(const long status);
    
    long GetStatus();
    //@}
    
    //! Adding one parameter to the protocoll buffer
    /*! 
    * \name Add Parameters
    *
    * Depending on the command code, several parameters can be passed to
    * the reader. The order of parameters within the sending buffer
    * depends on the order of calling
    * this functions. The length of the parameter depends on the data type
    * of the passed parameter.
    *
    * Several member functions provides a unified interface for passing
    * these parameters.
    */
    //@{
    short AddParam(const unsigned char& data  );
    short AddParam(const unsigned short& data );
    short AddParam(const unsigned int& data   );
    short AddParam(const unsigned long& data );
    short AddParam(const unsigned char * data, const unsigned long& len);
    //@}

    //! Extract one parameter from the protocoll buffer
    /*!
    * \name Extract Parameters
    *
    * Depending on the command code, several parameters are returned by
    * the reader. The order of parameters within the received buffer 
    * depends on the order of calling this functions. The length and type
    * of the parameter depends on the data type of the returned 
    * function parameter.
    *
    * Several member functions provides a unified interface for extracting
    * these returned values from the buffer.
    */ 
    //@{
    short GetParam(unsigned char& data  );
    short GetParam(unsigned short& data );
    short GetParam(signed short& data );
    short GetParam(unsigned int& data   );
    short GetParam(unsigned long& data  );
    short GetParam(unsigned char* data, const unsigned long& len);
    //@}

    //! Buffer Manipulation and Command Configuration
    /*!
    * \name Administrative Functions
    *
    * Except the function <em>ResetBuffers</em> all administrative functions
    * are needed to internaly manipulate the byte stream, which should be sent
    * to the reader or which had been received from the reader.
    *
    * The function <em>ResetBuffers</em> initializes all internal variables and
    * resets the status of the Command Object to the default status.
    *
    * The <em>set</em> and <em>get</em> functions enables the concatenation of
    * several Objects.
    */
    //@{
    //! resets Commandobject
    void ResetBuffers();
    //! returns a pointer to Commandbuffer (not valid after ResetBuffers anymore!)
    const unsigned char*  GetCommandBuffer();
    //! copy unsigned char* of length len to Databuffer beginning at position 0
    short SetDataBuffer(const unsigned char* buffer,const unsigned long& len);
    //! returns a pointer to Databuffer (not valid after ResetBuffers anymore!)
    const unsigned char*  GetDataBuffer();
    //! appends 1 byte to the end of databuffer
    unsigned char SetDataByte(unsigned char& byte);
    //! returns actual DataBuffer length
    unsigned long GetDataBufferLength();
    //! returns actual CommandBuffer length
    unsigned long GetCommandBufferLength();
    //@}

    //! BUG: Wrong Operator Delete Called for Exported Class
    /*!
    * \name BUG: Q122675
    *
    * When allocating and deleting an object of a class that is exported from a DLL, 
    * you may find that the new operator in the EXE is called to allocate the memory but 
    * the delete operator in the DLL is called to delete the memory. Therefore, there is 
    * a new/delete mismatching problem, which may cause run-time errors. 
    */
    //@{
    void* operator new( size_t tSize );
    void  operator delete( void* p );
    //@}

private:
    //! protected copy constructor
    CommandObject(const CommandObject& cmdobj) {};
    //! protected overridden assignment operator
    CommandObject& operator=(const CommandObject& cmdobj) {return *this;};

//----------------------------------------------------------------------------
// Data Members
//----------------------------------------------------------------------------
public:
    enum CONSTANTS { MAX_SEND_BUFFER= 32737,MAX_RECEIVE_BUFFER= 4294967295};
    
private:
    //!  stores the command to be sent
   volatile unsigned char   cCommand;
    //! stores the protocol's return status
    volatile long   lStatus;
    //! CommandBuffer
    StrBufferContainer* psCommandBuffer;
    //! DataBuffer (response)
    StrBufferContainer* psDataBuffer;
};
#ifdef __cplusplus
}
#endif

#endif  //   COMMANDOBJECT_H

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费的国产精品| 日韩午夜精品视频| 久久99久久精品| 夜夜操天天操亚洲| 欧美国产精品久久| 精品国产在天天线2019| 欧美精品 国产精品| 国产一区二区不卡老阿姨| 奇米精品一区二区三区在线观看 | 国产一区二区伦理| 视频一区中文字幕国产| 亚洲激情男女视频| 亚洲精品成人精品456| 亚洲免费三区一区二区| 欧美激情一二三区| 欧美国产1区2区| 久久精品视频在线免费观看| 欧美一级免费观看| 日韩欧美中文字幕公布| 欧美成人a∨高清免费观看| 欧美一级片在线观看| 欧美精品日韩一本| 91麻豆精品国产自产在线观看一区| 欧美制服丝袜第一页| 欧美中文字幕一区| 91网站在线播放| 欧美亚洲动漫精品| 在线电影一区二区三区| 欧美一区二区久久| 久久久亚洲欧洲日产国码αv| 久久久精品一品道一区| 26uuuu精品一区二区| 中文字幕乱码久久午夜不卡| 亚洲成人激情av| 伊人一区二区三区| 中文在线一区二区 | 日本不卡一区二区| 国产在线视频一区二区三区| 国产高清在线观看免费不卡| 99综合电影在线视频| 色婷婷久久一区二区三区麻豆| 欧美性感一类影片在线播放| 在线免费观看日韩欧美| 欧美一区二区网站| 中文字幕欧美日韩一区| 一区二区三区精密机械公司| 亚洲图片一区二区| 久久99最新地址| 99精品欧美一区二区蜜桃免费| 欧美色综合网站| 久久久噜噜噜久久人人看 | 麻豆精品国产91久久久久久| 激情六月婷婷综合| 91麻豆精品在线观看| 欧美一级久久久久久久大片| 国产精品全国免费观看高清| 亚洲影院免费观看| 国产精品羞羞答答xxdd| 在线精品视频免费播放| 7777精品伊人久久久大香线蕉超级流畅 | 国产精品久久夜| 日本午夜一本久久久综合| 成人影视亚洲图片在线| 日韩一区二区三区电影在线观看| 一区在线观看免费| 国产在线精品一区二区夜色 | 国产在线一区二区综合免费视频| 91精品国产综合久久久蜜臀粉嫩| 亚洲精品午夜久久久| 97久久超碰国产精品电影| 久久精品亚洲精品国产欧美| 狠狠色伊人亚洲综合成人| 日韩亚洲欧美在线观看| 蜜桃91丨九色丨蝌蚪91桃色| 日韩女同互慰一区二区| 久久99在线观看| 久久久www成人免费无遮挡大片 | 亚洲电影一级片| 欧美视频中文字幕| 亚洲h在线观看| 欧美理论电影在线| 美女国产一区二区| 久久久久久久久蜜桃| 成人综合在线视频| 亚洲精品福利视频网站| 欧美三片在线视频观看| 日本中文字幕不卡| 精品入口麻豆88视频| 国产福利电影一区二区三区| 中文字幕欧美激情| 欧美这里有精品| 日本午夜精品视频在线观看| 久久亚区不卡日本| av一区二区三区四区| 亚洲国产三级在线| 精品国产百合女同互慰| 成人av午夜电影| 午夜精品123| 久久一二三国产| 色www精品视频在线观看| 日韩精品一级二级| 亚洲国产精华液网站w| 欧美三级电影在线看| 国内精品免费**视频| 中文字幕一区二区不卡 | 成人黄色国产精品网站大全在线免费观看 | 精品一区二区三区免费观看| 中文字幕欧美激情| 欧美久久高跟鞋激| 国产a久久麻豆| 亚洲一二三四在线观看| 久久亚洲精品国产精品紫薇| 91国偷自产一区二区开放时间| 日本91福利区| 国产精品久久免费看| 欧美日韩成人综合天天影院| 国产综合色在线视频区| 亚洲一区二区偷拍精品| 久久精品视频在线免费观看| 欧美区一区二区三区| 成av人片一区二区| 精品写真视频在线观看| 亚洲成人免费在线观看| 国产欧美日韩精品一区| 欧美一卡二卡三卡四卡| 欧洲一区二区三区免费视频| 国产麻豆精品视频| 蜜臀久久99精品久久久久宅男| 中文字幕中文字幕一区| 久久伊99综合婷婷久久伊| 欧美高清视频一二三区| 色哦色哦哦色天天综合| 国产大陆a不卡| 国产一区福利在线| 久久99精品国产.久久久久久| 亚洲成av人片www| 亚洲精品国产精品乱码不99| 成人免费一区二区三区视频| 国产亚洲欧洲997久久综合 | 不卡区在线中文字幕| 国产最新精品免费| 国产在线不卡一卡二卡三卡四卡| 亚洲高清免费视频| 亚洲制服丝袜一区| 亚洲综合激情另类小说区| 樱花影视一区二区| 亚洲最新视频在线播放| 亚洲欧美日韩小说| 亚洲欧美激情一区二区| 日韩理论片中文av| 亚洲欧美日韩国产手机在线| 国产精品成人一区二区艾草| 中文字幕制服丝袜成人av| 亚洲私人影院在线观看| 亚洲精品老司机| 亚洲国产成人91porn| 天天操天天干天天综合网| 日韩精品免费视频人成| 日本午夜一区二区| 久久精品久久综合| 国产在线一区观看| 波多野结衣在线一区| 懂色av一区二区夜夜嗨| av一二三不卡影片| 91久久精品网| 91精品国产综合久久精品图片| 在线不卡一区二区| 精品久久国产97色综合| 国产视频视频一区| 综合久久综合久久| 香蕉影视欧美成人| 久久成人免费网| www.欧美亚洲| 欧美日韩久久一区| ww久久中文字幕| 成人欧美一区二区三区小说 | 精品一区二区三区免费观看| 国产二区国产一区在线观看| 91亚洲大成网污www| 制服丝袜国产精品| 国产日韩欧美激情| 亚洲高清视频在线| 国产91精品一区二区| 欧美亚洲日本国产| 精品福利av导航| 亚洲六月丁香色婷婷综合久久| 日本亚洲一区二区| 99国产精品久久久久久久久久| 欧美日韩一区二区欧美激情 | av网站一区二区三区| 欧美日韩一区二区不卡| 久久久久高清精品| 午夜久久福利影院| 国产91对白在线观看九色| 欧美日韩在线播| 国产精品卡一卡二卡三| 伦理电影国产精品| 在线亚洲免费视频| 国产精品久线在线观看| 免费在线一区观看|