/[svn]/libgig/trunk/src/Serialization.cpp
ViewVC logotype

Log of /libgig/trunk/src/Serialization.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (download) (annotate)
Sticky Revision:

Revision 3778 - (view) (download) (annotate) - [select for diffs]
Modified Sun May 24 11:20:11 2020 UTC (3 months, 4 weeks ago) by schoenebeck
File length: 105424 byte(s)
Diff to previous 3777
Serialization.cpp: Fix compatibility issues with new 2nd custom data type

* When encoding serialised data stream: always write 2nd custom data type
  name to data type blob, and append it actually to the end of the data
  type blob (not somewhere in the middle), no matter if a 2nd custom type
  is actually present (i.e. empty string) in object's data type or not.

* When decoding a serialised data stream: check the size of the data type
  blob, if the blob size is longer than a Srx v1.0 format data type blob,
  then assume there is a 2nd custom data type name, so read it (it might
  be an empty string if 2nd custom data type was not present on encoding
  side's object).

* Bumped version (4.2.0.svn16).


Revision 3777 - (view) (download) (annotate) - [select for diffs]
Modified Sat May 23 19:55:32 2020 UTC (3 months, 4 weeks ago) by schoenebeck
File length: 105325 byte(s)
Diff to previous 3776
Serialization.cpp/.h: Added built-in support for C++ Map<> objects

* Introduced out of the box support for serialising / deserialising
  variables of C++ Map<> data types (a.k.a. std::map from the STL).

* DataType: Added optional 2nd custom type name.

* Bumped version (4.2.0.svn15).


Revision 3776 - (view) (download) (annotate) - [select for diffs]
Modified Sat May 23 19:26:07 2020 UTC (3 months, 4 weeks ago) by schoenebeck
File length: 102909 byte(s)
Diff to previous 3775
* Serialization.cpp/.h: Added built-in support for C++ Set<>
  objects (a.k.a. std::set from the STL).

* Bumped version (4.2.0.svn14).


Revision 3775 - (view) (download) (annotate) - [select for diffs]
Modified Tue May 19 15:23:11 2020 UTC (4 months ago) by schoenebeck
File length: 98871 byte(s)
Diff to previous 3774
Serialization.cpp/.h: Added built-in support for C++ Array<> objects

* Introduced out of the box support for serialising / deserialising
  variables of C++ Array<> data types (a.k.a. std::vector from the STL).

* Member offsets are now signed and for (newly added support of) member
  variables on the heap -1 is always used as offset instead.

* Bumped version (4.2.0.svn13).


Revision 3774 - (view) (download) (annotate) - [select for diffs]
Modified Tue May 19 14:55:48 2020 UTC (4 months ago) by schoenebeck
File length: 97224 byte(s)
Diff to previous 3773
* Serialization.cpp/.h: Added new method Archive::operation() which
  allows applications to distinguish between serialization vs.
  deserialization in their serialize() method implementations.

* Bumped version (4.2.0.svn12).


Revision 3773 - (view) (download) (annotate) - [select for diffs]
Modified Tue May 19 14:28:20 2020 UTC (4 months ago) by schoenebeck
File length: 97135 byte(s)
Diff to previous 3771
* Serialization.h: Fixed assertion fault on some systems if a member
  variable was serialised which was declared as size_t or ssize_t
  data type.

* Bumped version (4.2.0.svn11).


Revision 3771 - (view) (download) (annotate) - [select for diffs]
Modified Sun May 17 17:14:31 2020 UTC (4 months ago) by schoenebeck
File length: 97155 byte(s)
Diff to previous 3770
Serialization.cpp/.h: Added support for "String" data type.

* Added method DataType::isString().

* Added method Object::setStringValue().

* Implemented built-in detection and serialization / deserialization of
  C++ String objects (a.k.a. std::string from the STL).

* Bumped Srx format version to 1.1.

* Bumped version (4.2.0.svn10).


Revision 3770 - (view) (download) (annotate) - [select for diffs]
Modified Sun May 17 14:05:08 2020 UTC (4 months ago) by schoenebeck
File length: 92442 byte(s)
Diff to previous 3480
* Serialization.cpp: Fixed broken Archive(RawData) constructor which
  always threw an Exception.

* Bumped version (4.2.0.svn9).


Revision 3480 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 22 11:17:58 2019 UTC (18 months, 4 weeks ago) by schoenebeck
File length: 92447 byte(s)
Diff to previous 3476
- Just added a comment about UnDecorateSymbolName() not being thread safe.


Revision 3476 - (view) (download) (annotate) - [select for diffs]
Modified Wed Feb 20 19:12:49 2019 UTC (19 months ago) by schoenebeck
File length: 92253 byte(s)
Diff to previous 3464
* Added MSVC build support
  (anonymous patch from mailing list).
* Introduced CMake build support (yet constrained for building with MSVC)
  (anonymous patch from mailing list).
* Bumped version (4.1.0.svn12).


Revision 3464 - (view) (download) (annotate) - [select for diffs]
Modified Sun Feb 10 20:25:05 2019 UTC (19 months, 1 week ago) by schoenebeck
File length: 91813 byte(s)
Diff to previous 3454
* Serialization.cpp: Fixed memory leak in DataType::customTypeName().
* Bumped version (4.1.0.svn10).


Revision 3454 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jan 27 10:07:48 2019 UTC (19 months, 3 weeks ago) by persson
File length: 91763 byte(s)
Diff to previous 3392
* src/Serialization.cpp: Fixed comparision logic bug


Revision 3392 - (view) (download) (annotate) - [select for diffs]
Modified Sun Dec 3 17:49:22 2017 UTC (2 years, 9 months ago) by schoenebeck
File length: 91759 byte(s)
Diff to previous 3333
* src/Serialization.cpp, src/Serialization.h:
  Hide pure internal declarations from header file to avoid numerous
  compiler warnings when building and linking against the public API.
* Bumped version (4.1.0.svn1).


Revision 3333 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jul 29 09:57:08 2017 UTC (3 years, 1 month ago) by schoenebeck
File length: 91560 byte(s)
Diff to previous 3198
* Serialization::DataType fix: Retain backward compatiblity to older
  versions of native C++ classes/strcts.
* Bumped version (4.0.0.svn30).


Revision 3198 - (view) (download) (annotate) - [select for diffs]
Modified Sun May 21 12:46:05 2017 UTC (3 years, 4 months ago) by schoenebeck
File length: 91242 byte(s)
Diff to previous 3186
* RIFF/DLS/gig/Serialization: Exception classes now have a variadic
  constructor which allows to add textual format specifiers like
  with printf().
* gig.cpp: On unknown leverage controller exception: show precise unknown
  leverage controller number found.


Revision 3186 - (view) (download) (annotate) - [select for diffs]
Modified Wed May 17 15:55:18 2017 UTC (3 years, 4 months ago) by schoenebeck
File length: 90734 byte(s)
Diff to previous 3185
- Fixed compile error.


Revision 3185 - (view) (download) (annotate) - [select for diffs]
Modified Wed May 17 15:42:58 2017 UTC (3 years, 4 months ago) by schoenebeck
File length: 90735 byte(s)
Diff to previous 3183
* Serialization: Handle human readable boolean text representations like
  "yes", "no", "true", "false" in Archive::setAutoValue() as expected.
* Bumped version (4.0.0.svn24).


Revision 3183 - (view) (download) (annotate) - [select for diffs]
Modified Mon May 15 18:44:32 2017 UTC (3 years, 4 months ago) by schoenebeck
File length: 90294 byte(s)
Diff to previous 3182
* Wrote API documentation for entire new Serialization
  framework.
* Hide some of the method implementation of the Serialization
  framework.


Revision 3182 - (view) (download) (annotate) - [select for diffs]
Modified Sun May 14 20:40:02 2017 UTC (3 years, 4 months ago) by schoenebeck
File length: 41083 byte(s)
Diff to previous 3173
* Serialization framework: moved methods setVersion() and
  setMinVersion() from class Object to class Archive, and
  hide enum type operation_t from the public API.
* Bumped version (4.0.0.svn23).


Revision 3173 - (view) (download) (annotate) - [select for diffs]
Modified Wed May 10 23:07:28 2017 UTC (3 years, 4 months ago) by schoenebeck
File length: 40623 byte(s)
Diff to previous 3169
* Print compiler warning if no RTTI available.
* Serialization::DataType class: Implemented demangling C++ type
  names (for methods asLongDescr() and
  customTypeName(bool demangle=false)).
* gig.h: When there is no RTTI, only hide API functions which
  really require RTTI.
* Bumped version (4.0.0.svn21).


Revision 3169 - (view) (download) (annotate) - [select for diffs]
Modified Wed May 10 21:17:10 2017 UTC (3 years, 4 months ago) by schoenebeck
File length: 40353 byte(s)
Diff to previous 3168
* src/gig.h: Added enum reflection API functions for
  retrieving enum declaration type information at
  runtime (countEnum(), enumKey(), enumKeys(),
  enumValue()).
* Archive: Added methods valueAsInt(), valueAsReal()
  and valueAsBool().
* Bumped version (4.0.0.svn20).


Revision 3168 - (view) (download) (annotate) - [select for diffs]
Modified Tue May 9 19:12:32 2017 UTC (3 years, 4 months ago) by schoenebeck
File length: 36749 byte(s)
Diff to previous 3159
- More ancient compiler backward compatibility fixes.


Revision 3159 - (view) (download) (annotate) - [select for diffs]
Modified Mon May 8 21:15:16 2017 UTC (3 years, 4 months ago) by schoenebeck
File length: 36636 byte(s)
Diff to previous 3156
* Fix: Archive creation and modification time were
  not encoded correctly.
* Bumped version (4.0.0.svn19).


Revision 3156 - (view) (download) (annotate) - [select for diffs]
Modified Mon May 8 17:18:07 2017 UTC (3 years, 4 months ago) by schoenebeck
File length: 36636 byte(s)
Diff to previous 3153
* class Archive: Added methods name() and setName().
* class Archive: Added methods comment() and setComment().
* class Archive: Added methods timeStampCreated(),
  timeStampModified(), dateTimeCreated() and
  dateTimeModified().
* Bumped version (4.0.0.svn18).


Revision 3153 - (view) (download) (annotate) - [select for diffs]
Modified Sat May 6 13:43:43 2017 UTC (3 years, 4 months ago) by schoenebeck
File length: 34194 byte(s)
Diff to previous 3150
* Serialization.cpp/.h: class Object: Added method
  memberByUID(), and method remove() is now protected,
  class Archive: Added method removeMember().
* Bumped version (4.0.0.svn17).


Revision 3150 - (view) (download) (annotate) - [select for diffs]
Modified Fri May 5 18:42:06 2017 UTC (3 years, 4 months ago) by schoenebeck
File length: 33702 byte(s)
Diff to previous 3146
* Serialization.cpp/.h: Added new methods isModified(),
  setAutoValue(), setIntValue(), setRealValue(),
  setBoolValue(), setEnumValue(), valueAsString() to
  class Archive.
* Serialization.cpp/.h: Archive::rawData(): Automatically
  re-encode new raw data stream if archive had been
  modified (i.e. by remove(), setAutoValue(), etc.).
* Bumped version (4.0.0.svn16).


Revision 3146 - (view) (download) (annotate) - [select for diffs]
Modified Wed May 3 19:54:08 2017 UTC (3 years, 4 months ago) by schoenebeck
File length: 27837 byte(s)
Diff to previous 3139
- Serialization.h/.cpp: trivial corrections.


Revision 3139 - (view) (download) (annotate) - [select for diffs]
Modified Wed May 3 15:15:10 2017 UTC (3 years, 4 months ago) by schoenebeck
File length: 27814 byte(s)
Diff to previous 3138
- Serialization.cpp: fixed misused atof_l().


Revision 3138 - (view) (download) (annotate) - [select for diffs]
Added Wed May 3 14:41:58 2017 UTC (3 years, 4 months ago) by schoenebeck
File length: 27977 byte(s)
* Added new "Serialization" framework (and equally named namespace)
  which allows to serialize and deserialize native C++ objects
  in a portable, easy and flexible way.
* gig.cpp/gig.h: Added support for serializing & deserializing
  DimensionRegion objects (and crossfade_t and leverage_ctrl_t
  objects).
* Bumped version (4.0.0.svn15).


This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

  ViewVC Help
Powered by ViewVC