diff options
author | Mark Spruiell <mes@zeroc.com> | 2012-05-08 18:14:39 -0700 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2012-05-08 18:14:39 -0700 |
commit | 7774bb92669779fd165a0510a360fdaecd69f0c3 (patch) | |
tree | 8ea8bba6cac4128cd3e511ff21534db130ff8e49 /cpp/include/Slice | |
parent | Fixed ICE-4709, batch requests and UnmarshalOutOfBoundsException (diff) | |
download | ice-7774bb92669779fd165a0510a360fdaecd69f0c3.tar.bz2 ice-7774bb92669779fd165a0510a360fdaecd69f0c3.tar.xz ice-7774bb92669779fd165a0510a360fdaecd69f0c3.zip |
* C++ implementation for compact/sliced formats
* C++ implementation for "preserve-slice" metadata
* C++ tests for compact/sliced/preserved types
* Updated stream API
* Python changes for stream API
* Python tests for compact/sliced formats
* Added Ice.Default.SlicedFormat property
Diffstat (limited to 'cpp/include/Slice')
-rw-r--r-- | cpp/include/Slice/CPlusPlusUtil.h | 1 | ||||
-rw-r--r-- | cpp/include/Slice/Parser.h | 13 |
2 files changed, 14 insertions, 0 deletions
diff --git a/cpp/include/Slice/CPlusPlusUtil.h b/cpp/include/Slice/CPlusPlusUtil.h index c751dba88f0..641ad1f6098 100644 --- a/cpp/include/Slice/CPlusPlusUtil.h +++ b/cpp/include/Slice/CPlusPlusUtil.h @@ -39,6 +39,7 @@ SLICE_API std::string returnTypeToString(const TypePtr&, const StringList& = Str SLICE_API std::string inputTypeToString(const TypePtr&, const StringList& = StringList(), int = 0); SLICE_API std::string outputTypeToString(const TypePtr&, const StringList& = StringList(), int = 0); SLICE_API std::string operationModeToString(Operation::Mode); +SLICE_API std::string formatTypeToString(FormatType); SLICE_API std::string fixKwd(const std::string&); diff --git a/cpp/include/Slice/Parser.h b/cpp/include/Slice/Parser.h index 16e5f8bae91..ab0a2ebc929 100644 --- a/cpp/include/Slice/Parser.h +++ b/cpp/include/Slice/Parser.h @@ -69,6 +69,16 @@ SLICE_API enum NodeType Real }; +// +// Format preference for classes and exceptions. +// +SLICE_API enum FormatType +{ + DefaultFormat, // No preference was specified. + CompactFormat, // Minimal format. + SlicedFormat // Full format. +}; + class GrammarBase; class SyntaxTreeBase; class Type; @@ -354,6 +364,8 @@ public: void setMetaData(const std::list<std::string>&); void addMetaData(const std::string&); // TODO: remove this method once "cs:" and "vb:" are hard errors. + static FormatType parseFormatMetaData(const std::list<std::string>&); + enum ContainedType { ContainedTypeSequence, @@ -580,6 +592,7 @@ public: bool returnsClasses() const; bool returnsData() const; int attributes() const; + FormatType format() const; virtual std::string kindOf() const; virtual void visit(ParserVisitor*, bool); |