二期c++接口
Dependencies: EthernetInterface mbed-rtos mbed uniqueCPUID
Fork of bcsdk by
Diff: Asset.cpp
- Revision:
- 10:aabd720e632c
diff -r d7468574ef8f -r aabd720e632c Asset.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Asset.cpp Fri Nov 03 01:07:32 2017 +0000 @@ -0,0 +1,106 @@ +#include "Asset.h" +#include "Uuid.h" + +Asset::Asset() +{ + this->id = ""; + this->alias = ""; + this->tags = "{}"; + this->quorum = 1; + Object obj; + this->definition["{}"] = obj; +} + +Asset::~Asset() +{ + +} + +// �����ʲ� +// ע���ʲ�json�Ǹ�����[] +string Asset::createAsset() +{ + string strJson = ""; + + MbedJSONValue val; + MbedJSONValue valNull; + MbedJSONValue vals; + + //fill the object + val["alias"] = this->alias; + val["tags"] = valNull; + val["definition"] = valNull; + val["quorum"] = this->getQuorum(); + for (int i=0; i<getQuorum(); i++) + { + // should be Key Get root_xpubs vector keys[i] + val["root_xpubs"][i] = "62b33131fff6493ce37cf86396984902932baaf08eb5260cc17a4138f0403e4f261a0569c75aeddfd8f09548b891b360a8e72a514c082826920d3f87e325ea9b"; + //val["root_xpubs"][i] = m_Keys.getRootXpub(); + } + + Uuid u; + //GUID guid = u.CreateGuid(); + //string strUuid = u.GuidToString(guid); + string strUuid = u.getUuid(); + + val["client_token"] = strUuid;//"17e48179-3500-48db-9335-b69d9af1111f"; + + //serialize it into a JSON string + vals[0] = val; + strJson = vals.serialize(); + if ("null" == strJson) + { + strJson = "{}"; + } + //printf("json: %s\r\n", strJson.c_str()); + + string strRep = ""; + string strUrl = "/create-asset"; + client.http_post(strUrl,strJson,strRep); + + // get http response content + string content = client.get_content(strRep); + + // decode content json + MbedJSONValue valRep; + string err = parse(valRep,content.c_str()); + + int ret = 0; + ret = err.find("error"); + if ( ret > 1) + { + return err; + } + + id = valRep[0]["id"].get<std::string>(); + + return id; +} + +string Asset::listAssets() +{ + string strJson = ""; + + MbedJSONValue val; + + //fill the object + if (!this->id.empty()) + { + string filter = "id='" + this->id +"'"; + val["filter"] = filter; + } + + //serialize it into a JSON string + strJson = val.serialize(); + if ("null" == strJson) + { + strJson = "{}"; + } + //printf("json: %s\r\n", strJson.c_str()); + + string strRep = ""; + string strUrl = "/list-assets"; + client.http_post(strUrl,strJson,strRep); + + return strJson; +} \ No newline at end of file