summaryrefslogtreecommitdiff
path: root/cpp/src/FreezeScript/Data.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/FreezeScript/Data.h')
-rw-r--r--cpp/src/FreezeScript/Data.h618
1 files changed, 0 insertions, 618 deletions
diff --git a/cpp/src/FreezeScript/Data.h b/cpp/src/FreezeScript/Data.h
deleted file mode 100644
index 4115611cd89..00000000000
--- a/cpp/src/FreezeScript/Data.h
+++ /dev/null
@@ -1,618 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
-//
-// This copy of Ice is licensed to you under the terms described in the
-// ICE_LICENSE file included in this distribution.
-//
-// **********************************************************************
-
-#ifndef FREEZE_SCRIPT_DATA_H
-#define FREEZE_SCRIPT_DATA_H
-
-#include <Ice/Ice.h>
-#include <Slice/Parser.h>
-#include <FreezeScript/Error.h>
-
-namespace FreezeScript
-{
-
-class Data;
-typedef IceUtil::Handle<Data> DataPtr;
-
-class DataVisitor;
-
-typedef std::map<std::string, DataPtr> DataMemberMap;
-typedef std::vector<DataPtr> DataList;
-typedef std::map<DataPtr, DataPtr> DataMap;
-
-class ObjectWriter;
-class ObjectReader;
-
-class ObjectData;
-typedef IceUtil::Handle<ObjectData> ObjectDataPtr;
-
-class DataFactory : public IceUtil::SimpleShared
-{
-public:
-
- DataFactory(const Ice::CommunicatorPtr&, const Slice::UnitPtr&, const ErrorReporterPtr&);
-
- DataPtr create(const Slice::TypePtr&, bool);
- DataPtr createBoolean(bool, bool);
- DataPtr createInteger(Ice::Long, bool);
- DataPtr createDouble(double, bool);
- DataPtr createString(const std::string&, bool);
- DataPtr createNil(bool);
- DataPtr createObject(const Slice::TypePtr&, bool);
-
- Slice::BuiltinPtr getBuiltin(Slice::Builtin::Kind) const;
-
- Ice::CommunicatorPtr getCommunicator() const;
- ErrorReporterPtr getErrorReporter() const;
-
-protected:
-
- DataPtr createImpl(const Slice::TypePtr&, bool);
-
- virtual void initialize(const DataPtr&);
-
- Ice::CommunicatorPtr _communicator;
- Slice::UnitPtr _unit; // Only used for creating builtin types.
- ErrorReporterPtr _errorReporter;
-};
-typedef IceUtil::Handle<DataFactory> DataFactoryPtr;
-
-class Data : public IceUtil::SimpleShared
-{
-public:
-
- virtual ~Data();
-
- virtual DataPtr getMember(const std::string&) const = 0;
- virtual DataPtr getElement(const DataPtr&) const = 0;
-
- virtual bool operator==(const Data&) const = 0;
- virtual bool operator!=(const Data&) const = 0;
- virtual bool operator<(const Data&) const = 0;
-
- virtual DataPtr clone() const = 0;
-
- bool readOnly() const;
- virtual Slice::TypePtr getType() const = 0;
- virtual void destroy() = 0;
-
- virtual void marshal(const Ice::OutputStreamPtr&) const = 0;
- virtual void unmarshal(const Ice::InputStreamPtr&) = 0;
-
- virtual bool booleanValue(bool = false) const = 0;
- virtual Ice::Long integerValue(bool = false) const = 0;
- virtual double doubleValue(bool = false) const = 0;
- virtual std::string stringValue(bool = false) const = 0;
- virtual std::string toString() const = 0;
-
- virtual void visit(DataVisitor&) = 0;
-
-protected:
-
- Data(const ErrorReporterPtr&, bool);
-
- ErrorReporterPtr _errorReporter;
- bool _readOnly;
-};
-
-class PrimitiveData : public Data
-{
-public:
-
- virtual DataPtr getMember(const std::string&) const;
- virtual DataPtr getElement(const DataPtr&) const;
-
- virtual void destroy();
-
-protected:
-
- PrimitiveData(const ErrorReporterPtr&, bool);
-};
-typedef IceUtil::Handle<PrimitiveData> PrimitiveDataPtr;
-
-class BooleanData : public PrimitiveData
-{
-public:
-
- BooleanData(const Slice::BuiltinPtr&, const ErrorReporterPtr&, bool);
- BooleanData(const Slice::BuiltinPtr&, const ErrorReporterPtr&, bool, bool);
-
- virtual bool operator==(const Data&) const;
- virtual bool operator!=(const Data&) const;
- virtual bool operator<(const Data&) const;
-
- virtual DataPtr clone() const;
-
- virtual Slice::TypePtr getType() const;
-
- virtual void marshal(const Ice::OutputStreamPtr&) const;
- virtual void unmarshal(const Ice::InputStreamPtr&);
-
- virtual bool booleanValue(bool = false) const;
- virtual Ice::Long integerValue(bool = false) const;
- virtual double doubleValue(bool = false) const;
- virtual std::string stringValue(bool = false) const;
- virtual std::string toString() const;
-
- virtual void visit(DataVisitor&);
-
- bool getValue() const;
- void setValue(bool);
-
-private:
-
- Slice::BuiltinPtr _type;
- bool _value;
-};
-typedef IceUtil::Handle<BooleanData> BooleanDataPtr;
-
-class IntegerData : public PrimitiveData
-{
-public:
-
- IntegerData(const Slice::BuiltinPtr&, const ErrorReporterPtr&, bool);
- IntegerData(const Slice::BuiltinPtr&, const ErrorReporterPtr&, bool, Ice::Long);
-
- virtual bool operator==(const Data&) const;
- virtual bool operator!=(const Data&) const;
- virtual bool operator<(const Data&) const;
-
- virtual DataPtr clone() const;
-
- virtual Slice::TypePtr getType() const;
-
- virtual void marshal(const Ice::OutputStreamPtr&) const;
- virtual void unmarshal(const Ice::InputStreamPtr&);
-
- virtual bool booleanValue(bool = false) const;
- virtual Ice::Long integerValue(bool = false) const;
- virtual double doubleValue(bool = false) const;
- virtual std::string stringValue(bool = false) const;
- virtual std::string toString() const;
-
- virtual void visit(DataVisitor&);
-
- Ice::Long getValue() const;
- void setValue(Ice::Long, bool);
-
-private:
-
- bool rangeCheck(Ice::Long, bool) const;
- static std::string toString(Ice::Long);
-
- Slice::BuiltinPtr _type;
- Ice::Long _value;
-};
-typedef IceUtil::Handle<IntegerData> IntegerDataPtr;
-
-class DoubleData : public PrimitiveData
-{
-public:
-
- DoubleData(const Slice::BuiltinPtr&, const ErrorReporterPtr&, bool);
- DoubleData(const Slice::BuiltinPtr&, const ErrorReporterPtr&, bool, double);
-
- virtual bool operator==(const Data&) const;
- virtual bool operator!=(const Data&) const;
- virtual bool operator<(const Data&) const;
-
- virtual DataPtr clone() const;
-
- virtual Slice::TypePtr getType() const;
-
- virtual void marshal(const Ice::OutputStreamPtr&) const;
- virtual void unmarshal(const Ice::InputStreamPtr&);
-
- virtual bool booleanValue(bool = false) const;
- virtual Ice::Long integerValue(bool = false) const;
- virtual double doubleValue(bool = false) const;
- virtual std::string stringValue(bool = false) const;
- virtual std::string toString() const;
-
- virtual void visit(DataVisitor&);
-
- double getValue() const;
- void setValue(double);
-
-private:
-
- Slice::BuiltinPtr _type;
- double _value;
-};
-typedef IceUtil::Handle<DoubleData> DoubleDataPtr;
-
-class StringData : public PrimitiveData
-{
-public:
-
- StringData(const DataFactoryPtr&, const Slice::BuiltinPtr&, const ErrorReporterPtr&, bool);
- StringData(const DataFactoryPtr&, const Slice::BuiltinPtr&, const ErrorReporterPtr&, bool, const std::string&);
-
- virtual DataPtr getMember(const std::string&) const;
-
- virtual bool operator==(const Data&) const;
- virtual bool operator!=(const Data&) const;
- virtual bool operator<(const Data&) const;
-
- virtual DataPtr clone() const;
-
- virtual Slice::TypePtr getType() const;
-
- virtual void marshal(const Ice::OutputStreamPtr&) const;
- virtual void unmarshal(const Ice::InputStreamPtr&);
-
- virtual bool booleanValue(bool = false) const;
- virtual Ice::Long integerValue(bool = false) const;
- virtual double doubleValue(bool = false) const;
- virtual std::string stringValue(bool = false) const;
- virtual std::string toString() const;
-
- virtual void visit(DataVisitor&);
-
- std::string getValue() const;
- void setValue(const std::string&);
-
-private:
-
- DataFactoryPtr _factory;
- Slice::BuiltinPtr _type;
- std::string _value;
- IntegerDataPtr _length;
-};
-typedef IceUtil::Handle<StringData> StringDataPtr;
-
-class ProxyData : public Data
-{
-public:
-
- ProxyData(const Slice::TypePtr&, const Ice::CommunicatorPtr&, const ErrorReporterPtr&, bool);
- ProxyData(const Slice::TypePtr&, const Ice::CommunicatorPtr&, const ErrorReporterPtr&, bool, const Ice::ObjectPrx&);
-
- virtual DataPtr getMember(const std::string&) const;
- virtual DataPtr getElement(const DataPtr&) const;
-
- virtual bool operator==(const Data&) const;
- virtual bool operator!=(const Data&) const;
- virtual bool operator<(const Data&) const;
-
- virtual DataPtr clone() const;
-
- virtual Slice::TypePtr getType() const;
- virtual void destroy();
-
- virtual void marshal(const Ice::OutputStreamPtr&) const;
- virtual void unmarshal(const Ice::InputStreamPtr&);
-
- virtual bool booleanValue(bool = false) const;
- virtual Ice::Long integerValue(bool = false) const;
- virtual double doubleValue(bool = false) const;
- virtual std::string stringValue(bool = false) const;
- virtual std::string toString() const;
-
- virtual void visit(DataVisitor&);
-
- Ice::ObjectPrx getValue() const;
- void setValue(const std::string&, bool);
- void setValue(const Ice::ObjectPrx&);
-
-private:
-
- Slice::TypePtr _type; // Can be Builtin or Proxy
- Ice::CommunicatorPtr _communicator;
- Ice::ObjectPrx _value;
- std::string _str;
-};
-typedef IceUtil::Handle<ProxyData> ProxyDataPtr;
-
-class StructData : public Data
-{
-public:
-
- StructData(const DataFactoryPtr&, const Slice::StructPtr&, const ErrorReporterPtr&, bool);
-
- virtual DataPtr getMember(const std::string&) const;
- virtual DataPtr getElement(const DataPtr&) const;
-
- virtual bool operator==(const Data&) const;
- virtual bool operator!=(const Data&) const;
- virtual bool operator<(const Data&) const;
-
- virtual DataPtr clone() const;
-
- virtual Slice::TypePtr getType() const;
-
- virtual void marshal(const Ice::OutputStreamPtr&) const;
- virtual void unmarshal(const Ice::InputStreamPtr&);
-
- virtual void destroy();
-
- virtual bool booleanValue(bool = false) const;
- virtual Ice::Long integerValue(bool = false) const;
- virtual double doubleValue(bool = false) const;
- virtual std::string stringValue(bool = false) const;
- virtual std::string toString() const;
-
- virtual void visit(DataVisitor&);
-
- DataMemberMap& getMembers();
-
-private:
-
- StructData(const Slice::StructPtr&, const ErrorReporterPtr&, bool, const DataMemberMap&);
-
- Slice::StructPtr _type;
- DataMemberMap _members;
-};
-typedef IceUtil::Handle<StructData> StructDataPtr;
-
-class SequenceData : public Data
-{
-public:
-
- SequenceData(const DataFactoryPtr&, const Slice::SequencePtr&, const ErrorReporterPtr&, bool);
-
- virtual DataPtr getMember(const std::string&) const;
- virtual DataPtr getElement(const DataPtr&) const;
-
- virtual bool operator==(const Data&) const;
- virtual bool operator!=(const Data&) const;
- virtual bool operator<(const Data&) const;
-
- virtual DataPtr clone() const;
-
- virtual Slice::TypePtr getType() const;
- virtual void destroy();
-
- virtual void marshal(const Ice::OutputStreamPtr&) const;
- virtual void unmarshal(const Ice::InputStreamPtr&);
-
- virtual bool booleanValue(bool = false) const;
- virtual Ice::Long integerValue(bool = false) const;
- virtual double doubleValue(bool = false) const;
- virtual std::string stringValue(bool = false) const;
- virtual std::string toString() const;
-
- virtual void visit(DataVisitor&);
-
- DataList& getElements();
-
-private:
-
- SequenceData(const DataFactoryPtr&, const Slice::SequencePtr&, const ErrorReporterPtr&, bool, const DataList&);
-
- DataFactoryPtr _factory;
- Slice::SequencePtr _type;
- DataList _elements;
- IntegerDataPtr _length;
-};
-typedef IceUtil::Handle<SequenceData> SequenceDataPtr;
-
-class EnumData : public Data
-{
-public:
-
- EnumData(const Slice::EnumPtr&, const ErrorReporterPtr&, bool);
- EnumData(const Slice::EnumPtr&, const ErrorReporterPtr&, bool, Ice::Int);
-
- virtual DataPtr getMember(const std::string&) const;
- virtual DataPtr getElement(const DataPtr&) const;
-
- virtual bool operator==(const Data&) const;
- virtual bool operator!=(const Data&) const;
- virtual bool operator<(const Data&) const;
-
- virtual DataPtr clone() const;
-
- virtual Slice::TypePtr getType() const;
- virtual void destroy();
-
- virtual void marshal(const Ice::OutputStreamPtr&) const;
- virtual void unmarshal(const Ice::InputStreamPtr&);
-
- virtual bool booleanValue(bool = false) const;
- virtual Ice::Long integerValue(bool = false) const;
- virtual double doubleValue(bool = false) const;
- virtual std::string stringValue(bool = false) const;
- virtual std::string toString() const;
-
- virtual void visit(DataVisitor&);
-
- Ice::Int getValue() const;
- bool setValue(Ice::Int);
- bool setValueAsString(const std::string&);
-
-private:
-
- Slice::EnumPtr _type;
- Ice::Int _value;
- std::string _name;
- Ice::Int _count;
-};
-typedef IceUtil::Handle<EnumData> EnumDataPtr;
-
-class DictionaryData : public Data
-{
-public:
-
- DictionaryData(const DataFactoryPtr&, const Slice::DictionaryPtr&, const ErrorReporterPtr&, bool);
-
- virtual DataPtr getMember(const std::string&) const;
- virtual DataPtr getElement(const DataPtr&) const;
-
- virtual bool operator==(const Data&) const;
- virtual bool operator!=(const Data&) const;
- virtual bool operator<(const Data&) const;
-
- virtual DataPtr clone() const;
-
- virtual Slice::TypePtr getType() const;
- virtual void destroy();
-
- virtual void marshal(const Ice::OutputStreamPtr&) const;
- virtual void unmarshal(const Ice::InputStreamPtr&);
-
- virtual bool booleanValue(bool = false) const;
- virtual Ice::Long integerValue(bool = false) const;
- virtual double doubleValue(bool = false) const;
- virtual std::string stringValue(bool = false) const;
- virtual std::string toString() const;
-
- virtual void visit(DataVisitor&);
-
- DataMap& getElements();
-
-private:
-
- DictionaryData(const DataFactoryPtr&, const Slice::DictionaryPtr&, const ErrorReporterPtr&, bool, const DataMap&);
-
- DataFactoryPtr _factory;
- Slice::DictionaryPtr _type;
- DataMap _map;
- IntegerDataPtr _length;
-};
-typedef IceUtil::Handle<DictionaryData> DictionaryDataPtr;
-
-class ObjectData : public Data
-{
-public:
-
- ObjectData(const DataFactoryPtr&, const Slice::TypePtr&, bool);
-
- virtual DataPtr getMember(const std::string&) const;
- virtual DataPtr getElement(const DataPtr&) const;
-
- virtual bool operator==(const Data&) const;
- virtual bool operator!=(const Data&) const;
- virtual bool operator<(const Data&) const;
-
- virtual DataPtr clone() const;
-
- virtual Slice::TypePtr getType() const;
- virtual void destroy();
-
- virtual void marshal(const Ice::OutputStreamPtr&) const;
- virtual void unmarshal(const Ice::InputStreamPtr&);
-
- virtual bool booleanValue(bool = false) const;
- virtual Ice::Long integerValue(bool = false) const;
- virtual double doubleValue(bool = false) const;
- virtual std::string stringValue(bool = false) const;
- virtual std::string toString() const;
-
- virtual void visit(DataVisitor&);
-
- DataMemberMap& getMembers();
-
- void incRef();
- void decRef();
-
-private:
-
- void destroyI();
-
- Slice::TypePtr _type; // Can be Builtin (Object) or ClassDecl
- DataPtr _facetMap;
- DataMemberMap _members;
- Ice::ObjectPtr _marshaler;
- Ice::Int _refCount;
- DataPtr _id;
-
- friend class ObjectWriter;
- friend class ObjectReader;
-};
-
-class ObjectRef : public Data
-{
-public:
-
- ObjectRef(const DataFactoryPtr&, const Slice::TypePtr&, bool);
- ObjectRef(const DataFactoryPtr&, const Slice::TypePtr&, bool, const ObjectDataPtr&);
-
- virtual DataPtr getMember(const std::string&) const;
- virtual DataPtr getElement(const DataPtr&) const;
-
- virtual bool operator==(const Data&) const;
- virtual bool operator!=(const Data&) const;
- virtual bool operator<(const Data&) const;
-
- virtual DataPtr clone() const;
-
- virtual Slice::TypePtr getType() const;
- virtual void destroy();
-
- virtual void marshal(const Ice::OutputStreamPtr&) const;
- virtual void unmarshal(const Ice::InputStreamPtr&);
-
- virtual bool booleanValue(bool = false) const;
- virtual Ice::Long integerValue(bool = false) const;
- virtual double doubleValue(bool = false) const;
- virtual std::string stringValue(bool = false) const;
- virtual std::string toString() const;
-
- virtual void visit(DataVisitor&);
-
- void instantiate();
- ObjectDataPtr getValue() const;
- void setValue(const ObjectDataPtr&);
-
-private:
-
- DataFactoryPtr _factory;
- Slice::TypePtr _type; // Formal type: can be Builtin (Object) or ClassDecl
- ObjectDataPtr _value;
-};
-typedef IceUtil::Handle<ObjectRef> ObjectRefPtr;
-
-class ObjectFactory : public Ice::ObjectFactory
-{
-public:
-
- virtual Ice::ObjectPtr create(const std::string&);
- virtual void destroy();
-
- void activate(const DataFactoryPtr&, const Slice::UnitPtr&);
- void deactivate();
-
-private:
-
- DataFactoryPtr _factory;
- Slice::UnitPtr _unit;
-};
-typedef IceUtil::Handle<ObjectFactory> ObjectFactoryPtr;
-
-class ClassNotFoundException
-{
-public:
-
- ClassNotFoundException(const std::string& s) : id(s) {}
-
- std::string id;
-};
-
-class DataVisitor
-{
-public:
-
- virtual ~DataVisitor();
-
- virtual void visitBoolean(const BooleanDataPtr&);
- virtual void visitInteger(const IntegerDataPtr&);
- virtual void visitDouble(const DoubleDataPtr&);
- virtual void visitString(const StringDataPtr&);
- virtual void visitProxy(const ProxyDataPtr&);
- virtual void visitStruct(const StructDataPtr&);
- virtual void visitSequence(const SequenceDataPtr&);
- virtual void visitEnum(const EnumDataPtr&);
- virtual void visitDictionary(const DictionaryDataPtr&);
- virtual void visitObject(const ObjectRefPtr&);
-};
-
-} // End of namespace FreezeScript
-
-#endif