summaryrefslogtreecommitdiffstats
path: root/veslibrary/ves_cpplibrary/src/lib/encode/XJsonObjectImp.h
blob: 8d586acf2a88ba7de961083614c86e932c14d686 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#pragma once
        
#include "XJsonObject.h"
#include "XInternal.h"

namespace vagt
{
    namespace encode
    {
        class XJsonObjectImp : public XJsonObject, public XJsonable
        {
        public:
            XJsonObjectImp(const XString& objectName,
                const XArrayOfXJsonObjectInstance& objectInstances
                );

            virtual json toJson() override;

            virtual void setObjectSchema(const XString& objectSchema) override;
            virtual void setObjectName(const XString& objectName) override;
            virtual void setNfSubscriptionId(const XString& nfSubscriptionId) override;
            virtual void setObjectInstances(const XArrayOfXJsonObjectInstance& objectInstances) override;
            virtual void setNfSubscribedObjectName(const XString& nfSubscribedObjectName) override;
            virtual void setObjectSchemaUrl(const XString& objectSchemaUrl) override;

        private:
            //required
            XString objectName_;
            XArrayOfXJsonObjectInstance objectInstances_;
            //optional
            std::map<std::string, XCommonValue> comVals_;
        };
    }
}