I will try to be as succinct as possible. I Have the following files in my:
Given below DBAccess2.h
#ifndef DBAccess2_HH
#define DBAccess2_HH
#include <iostream> //NOTE-I have deleted headers for sake of readability
using namespace std;
//=========================//
struct DeviceStatus
{
string DevStat_Addr;
string DevStat_EstbCD;
string DevStat_CPUID;
friend inline std::ostream &operator<<(std::ostream &out, DeviceStatus const& Dev)
{
return out << "\n("<< Dev.DevStat_Addr << "," << Dev.DevStat_EstbCD << "," << Dev.DevStat_CPUID << ")\n\n";
}
};
//=========================//
class sqliteDB {
using Records = std::list<DeviceStatus>;
Records Device_Status_list;
public:
list<DeviceStatus> GET_ALL_Device_Status();
Records const& get() const { return Device_Status_list; }
void writeJson(std::ostream& os) const;
void printList() const;
};
#endif
Below is DBAccess22.cpp
#include <iostream> //NOTE-I have deleted headers for sake of readability
#include "DBAccess2.h"
//====XX===//
list<DeviceStatus> sqliteDB::GET_ALL_Device_Status()
{
//==SOME CODE TO ACCESS SQLITE DATABASE===//
return Device_Status_list;
}
//====XX===//
void sqliteDB::writeJson(std::ostream& os) const {
using namespace boost::property_tree;
ptree pt;
for (auto &entry : Device_Status_list)
{
pt.add("Addr", entry.DevStat_Addr);
pt.add("EstbCD", entry.DevStat_EstbCD);
pt.add("CPUID", entry.DevStat_CPUID);
}
write_json(os, pt, false);
}
//====XX===//
Below is POST1.h file:
#ifndef POST1_HH
#define POST1_HH
#include <iostream> //NOTE-I have deleted headers for sake of readability
#include "DBAccess2.h"
class POST1
{
public:
string TokenNo;
string CommandStatus;
string JSON_Cmnd_String;
void POST_Device_Status();
};
#endif
Below is POST1.cpp:
#include <iostream> //NOTE-I have deleted headers for sake of readability
#include "DBAccess2.h"
#include "POST1.h"
using namespace std ;
void POST1::POST_Device_Status()
{
POST1 POST_OBJ;
POST_OBJ.TokenNo = "1122";
POST_OBJ.CommandStatus = "0";
POST_OBJ.JSON_Cmnd_String = "??????"; //I Want os into this
cout << "Token is:" << POST_OBJ.TokenNo << endl;
cout << "CommandStatus is:" << POST_OBJ.CommandStatus << endl;
cout << "JSON_Cmnd_String is:" << POST_OBJ.JSON_Cmnd_String << endl;
}
And below is my main.cpp:
#include "DBAccess2.h"
#include "POST1.h"
using namespace std ;
template <typename List>
static void printList(List const& list) {
for (auto& r : list) std::cout << r << "";
}
void dump(sqliteDB const& db)
{
printList(db.get());
db.writeJson(std::cout);
}
int main()
{
sqliteDB object1;
POST1 object2;
dump(object1);
object1.GET_ALL_Device_Status();
dump(object1);
object2.POST_Device_Status();
return 0;
}
In file DBAccess22.cpp variable os contains some data. I am trying call os into POST1.cpp (see commented) but I get various errors. how can I do that ?
Note: I am new to c++ (2 weeks old).
Aucun commentaire:
Enregistrer un commentaire