#include <iostream>
#include <rda/DataCodec.h>
#include <rda/RDAService.h>
#ifdef CMW_WIN
#include <windows.h>
#else
#include <unistd.h>
#include <sys/stat.h>
#include <fcntl.h>
#endif
using namespace std;
int main(int argc, char** argv)
{
const char* file = 0;
if (argc > 1) file = argv[1];
else
{
cout << "File name not specified\n";
return 0;
}
rdaRDAService::init();
rdaData data;
data.insert("0",(double)0);
data.insert("1",(float)1);
data.insert("2",(short)2);
data.insert("3",(long)3);
data.insert("4",(longlong)4);
data.insert("5",(signed char)5);
data.insert("6","6");
unsigned long size = 0;
char* buf = rdaDataCodec::encode(data, size);
cout << "==> writing data to file: " << file << endl;
int fd = open(file, O_WRONLY | O_CREAT, S_IWUSR | S_IRUSR);
if (fd == -1)
{
perror("open() failed");
return 0;
}
int ret = write(fd, buf, size);
if (ret == -1) perror("write() failed");
else cout << size << " bytes written\n";
delete buf;
close(fd);
return 0;
}