Arianna autonomous DAQ firmware

Dependencies:   mbed SDFileSystemFilinfo AriSnProtocol NetServicesMin AriSnComm MODSERIAL PowerControlClkPatch DS1820OW

SnCommAfar.h

Committer:
uci1
Date:
2012-07-31
Revision:
3:24c5f0f50bf1
Parent:
2:e67f7c158087
Child:
6:6f002d202f59

File content as of revision 3:24c5f0f50bf1:

#ifndef SN_SnCommAfar
#define SN_SnCommAfar

#include "SnCommWin.h"

class Websocket;

class SnConfigFrame;
class SnEventFrame;

class SnCommAfar : public SnCommWin {
 protected:
    char* const fB64buf;
    uint32_t    fbblen;
    
    virtual SnCommWin::ECommWinResult  SendFilename(const char* fn, char* const genBuf);
    virtual SnCommWin::ECommWinResult  SendData(FILE* inf);
    virtual SnCommWin::ECommWinResult  SendConfAndEvents(FILE* inf,
                                                    const SnConfigFrame& curConf,
                                                    SnEventFrame& evt,
                                                    char* const genBuf,
                                                    const uint32_t nevts,
                                                    const uint32_t firstEvt=0);

 public:
    SnCommAfar(char* const b64buf, const uint32_t bblen) : fB64buf(b64buf), fbblen(bblen) {}
    virtual ~SnCommAfar() {}
    
    virtual bool Connect(const uint32_t timeout);
    
    virtual SnCommWin::ECommWinResult  OpenWindow(const uint32_t timeout,
                                                  const bool sendStatus,
                                                  const SnConfigFrame& conf,
                                                  const SnEventFrame& evt,
                                                  char* const genBuf);
    
    virtual SnCommWin::ECommWinResult  WaitHandshake(const uint32_t timeout,
                                                     char* const buf,
                                                     const uint32_t bsize);
    
    virtual SnCommWin::ECommWinResult  GetConfig(SnConfigFrame& conf,
                                                 const uint32_t timeOut,
                                                 char* const confBuf,
                                                 const uint32_t bsize);

    virtual SnCommWin::ECommWinResult  SendStatus(const SnConfigFrame& conf,
                                                  const SnEventFrame& evt,
                                                  char* const genBuf);

    static Websocket& GetWS();
    
};

#endif // SN_SnCommAfar