// MMRtcm.cpp: implementation of the MMRtcm class.
//
//////////////////////////////////////////////////////////////////////

#include <stdio.h>
#include "MMRtcm.h"
#include "Math.h"
#include "Time.h"


//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////


MMRtcm::MMRtcm(const ModemMessage *pMM)
{
    Assert(pMM);
    Assert(pMM->getType()==tGetMessageType());
    const char* pcEnd = pcRead(pMM->getBuffer());
    Assert(pcEnd==pMM->getBuffer()+pMM->getBufferSize());
}
 

MMRtcm::MMRtcm(char* m, long l) 
{
    m_length = (l<=96)?l:96;
    memcpy(m_message,m,m_length);
}


int MMRtcm::getRtcm(char *str) 
{
  memcpy(str,m_message,m_length);
  return m_length;
}


const char* MMRtcm::pcRead(const char* sourceBuffer)
{
    const char* pcEnd = ::pcRead(sourceBuffer, &m_length);
	memcpy(m_message,pcEnd,m_length);
	pcEnd+= m_length;
    return pcEnd;
}

char* MMRtcm::pcWrite(char* destBuffer) const
{
    char* pcEnd = ::pcWrite(destBuffer, m_length);
    memcpy(pcEnd, m_message, m_length);
	pcEnd+=m_length;
    return pcEnd;
}

void MMRtcm::toString(char* str)
{
  
}
