/[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) - [selected]
Modified Sun May 24 11:20:11 2020 UTC (3 years, 10 months 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 years, 10 months ago) by schoenebeck
File length: 105325 byte(s)
Diff to previous 3776 , to selected 3778
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 years, 10 months ago) by schoenebeck
File length: 102909 byte(s)
Diff to previous 3775 , to selected 3778
* 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 (3 years, 10 months ago) by schoenebeck
File length: 98871 byte(s)
Diff to previous 3774 , to selected 3778
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 (3 years, 10 months ago) by schoenebeck
File length: 97224 byte(s)
Diff to previous 3773 , to selected 3778
* 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 (3 years, 10 months ago) by schoenebeck
File length: 97135 byte(s)
Diff to previous 3771 , to selected 3778
* 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 (3 years, 10 months ago) by schoenebeck
File length: 97155 byte(s)
Diff to previous 3770 , to selected 3778
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 (3 years, 10 months ago) by schoenebeck
File length: 92442 byte(s)
Diff to previous 3480 , to selected 3778
* 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 (5 years, 1 month ago) by schoenebeck
File length: 92447 byte(s)
Diff to previous 3476 , to selected 3778
- 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 (5 years, 1 month ago) by schoenebeck
File length: 92253 byte(s)
Diff to previous 3464 , to selected 3778
* 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 (5 years, 1 month ago) by schoenebeck
File length: 91813 byte(s)
Diff to previous 3454 , to selected 3778
* 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 (5 years, 2 months ago) by persson
File length: 91763 byte(s)
Diff to previous 3392 , to selected 3778
* src/Serialization.cpp: Fixed comparision logic bug


Revision 3392 - (view) (download) (annotate) - [select for diffs]
Modified Sun Dec 3 17:49:22 2017 UTC (6 years, 3 months ago) by schoenebeck
File length: 91759 byte(s)
Diff to previous 3333 , to selected 3778
* 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 (6 years, 8 months ago) by schoenebeck
File length: 91560 byte(s)
Diff to previous 3198 , to selected 3778
* 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 (6 years, 10 months ago) by schoenebeck
File length: 91242 byte(s)
Diff to previous 3186 , to selected 3778
* 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 (6 years, 10 months ago) by schoenebeck
File length: 90734 byte(s)
Diff to previous 3185 , to selected 3778
- Fixed compile error.


Revision 3185 - (view) (download) (annotate) - [select for diffs]
Modified Wed May 17 15:42:58 2017 UTC (6 years, 10 months ago) by schoenebeck
File length: 90735 byte(s)
Diff to previous 3183 , to selected 3778
* 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 (6 years, 10 months ago) by schoenebeck
File length: 90294 byte(s)
Diff to previous 3182 , to selected 3778
* 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 (6 years, 10 months ago) by schoenebeck
File length: 41083 byte(s)
Diff to previous 3173 , to selected 3778
* 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 (6 years, 10 months ago) by schoenebeck
File length: 40623 byte(s)
Diff to previous 3169 , to selected 3778
* 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 (6 years, 10 months ago) by schoenebeck
File length: 40353 byte(s)
Diff to previous 3168 , to selected 3778
* 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 (6 years, 10 months ago) by schoenebeck
File length: 36749 byte(s)
Diff to previous 3159 , to selected 3778
- More ancient compiler backward compatibility fixes.


Revision 3159 - (view) (download) (annotate) - [select for diffs]
Modified Mon May 8 21:15:16 2017 UTC (6 years, 10 months ago) by schoenebeck
File length: 36636 byte(s)
Diff to previous 3156 , to selected 3778
* 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 (6 years, 10 months ago) by schoenebeck
File length: 36636 byte(s)
Diff to previous 3153 , to selected 3778
* 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 (6 years, 10 months ago) by schoenebeck
File length: 34194 byte(s)
Diff to previous 3150 , to selected 3778
* 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 (6 years, 10 months ago) by schoenebeck
File length: 33702 byte(s)
Diff to previous 3146 , to selected 3778
* 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 (6 years, 10 months ago) by schoenebeck
File length: 27837 byte(s)
Diff to previous 3139 , to selected 3778
- Serialization.h/.cpp: trivial corrections.


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


Revision 3138 - (view) (download) (annotate) - [select for diffs]
Added Wed May 3 14:41:58 2017 UTC (6 years, 10 months ago) by schoenebeck
File length: 27977 byte(s)
Diff to selected 3778
* 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