- Result_t Unarchive(ASDCP::MemIOReader& Reader) {
- Result_t result = Reader.ReadUi16BE(&Major);
- if ( ASDCP_SUCCESS(result) ) result = Reader.ReadUi16BE(&Minor);
- if ( ASDCP_SUCCESS(result) ) result = Reader.ReadUi16BE(&Patch);
- if ( ASDCP_SUCCESS(result) ) result = Reader.ReadUi16BE(&Build);
- if ( ASDCP_SUCCESS(result) )
- {
- ui16_t tmp_release;
- result = Reader.ReadUi16BE(&tmp_release);
- Release = (Release_t)tmp_release;
- }
-
- return result;
+ virtual bool Unarchive(Kumu::MemIOReader* Reader) {
+ if ( ! Reader->ReadUi16BE(&Major) ) return false;
+ if ( ! Reader->ReadUi16BE(&Minor) ) return false;
+ if ( ! Reader->ReadUi16BE(&Patch) ) return false;
+ if ( ! Reader->ReadUi16BE(&Build) ) return false;
+ ui16_t tmp_release;
+ if ( ! Reader->ReadUi16BE(&tmp_release) ) return false;
+ Release = (Release_t)tmp_release;
+ return true;