1285 lines
59 KiB
C++
1285 lines
59 KiB
C++
|
|
// %UNIT_NAME%
|
||
|
|
//
|
||
|
|
/*---------------------------------------------------------------------------}
|
||
|
|
{ This unit was automatically generated by the RemObjects SDK after reading }
|
||
|
|
{ the RODL file associated with this project. }
|
||
|
|
{ }
|
||
|
|
{ Do not modify this unit manually, or your changes will be lost when this }
|
||
|
|
{ unit is regenerated the next time you compile the project. }
|
||
|
|
{---------------------------------------------------------------------------*/
|
||
|
|
|
||
|
|
void __initialization_%UNIT_NAME%();
|
||
|
|
void __finalization_%UNIT_NAME%();
|
||
|
|
|
||
|
|
#pragma startup __initialization_%UNIT_NAME%
|
||
|
|
#pragma exit __finalization_%UNIT_NAME%
|
||
|
|
|
||
|
|
#include "%LIBRARY_NAME%_intf.h"
|
||
|
|
#include <uROEventRepository.hpp>
|
||
|
|
|
||
|
|
// Implementation of %UNIT_NAME%
|
||
|
|
|
||
|
|
// <%%% START ARRAYS %%%>
|
||
|
|
// %ARRAY_NAME%
|
||
|
|
void __fastcall %ARRAY_NAME%::Assign(Classes::TPersistent* iSource)
|
||
|
|
{
|
||
|
|
%ARRAY_NAME%* lSource = dynamic_cast<%ARRAY_NAME%*>(iSource);
|
||
|
|
if (lSource)
|
||
|
|
{
|
||
|
|
Clear();
|
||
|
|
Resize(lSource->Count);
|
||
|
|
for (int i = 0 ; i < Count ; i++)
|
||
|
|
{
|
||
|
|
// <%%% START IF_ARRAY_TYPE_COMPLEX %%%>
|
||
|
|
if (lSource->Items[i] != NULL)
|
||
|
|
{
|
||
|
|
Items[i]->Assign(lSource->Items[i]);
|
||
|
|
}
|
||
|
|
// <%%% END IF_ARRAY_TYPE_COMPLEX %%%>
|
||
|
|
// <%%% START IF_ARRAY_TYPE_SIMPLE %%%>
|
||
|
|
Items[i] = lSource->Items[i];
|
||
|
|
// <%%% END IF_ARRAY_TYPE_SIMPLE %%%>
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
inherited::Assign(iSource);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
void __fastcall %ARRAY_NAME%::ReadComplex(TObject* ASerializer)
|
||
|
|
{
|
||
|
|
// <%%% START IF_ARRAY_TYPE_SIMPLE %%%>
|
||
|
|
%ARRAY_TYPE% lval;
|
||
|
|
// <%%% END IF_ARRAY_TYPE_SIMPLE %%%>
|
||
|
|
// <%%% START IF_ARRAY_TYPE_COMPLEX %%%>
|
||
|
|
%ARRAY_TYPE%* lval;
|
||
|
|
// <%%% END IF_ARRAY_TYPE_COMPLEX %%%>
|
||
|
|
TROSerializer* Serializer = dynamic_cast<TROSerializer*>(ASerializer);
|
||
|
|
for (int i = 0; i < Count; i++)
|
||
|
|
{
|
||
|
|
// <%%% START IF_ARRAY_BINARY_TYPE %%%>
|
||
|
|
Serializer->ReadBinary(Serializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), &lval, i);
|
||
|
|
// <%%% END IF_ARRAY_BINARY_TYPE %%%>
|
||
|
|
// <%%% START IF_ARRAY_BOOLEAN_TYPE %%%>
|
||
|
|
Serializer->ReadEnumerated(Serializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), __GetboolInfo, &lval, i);
|
||
|
|
// <%%% END IF_ARRAY_BOOLEAN_TYPE %%%>
|
||
|
|
// <%%% START IF_ARRAY_CURRENCY_TYPE %%%>
|
||
|
|
Serializer->ReadDouble(Serializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), ftCurr, &lval, i);
|
||
|
|
// <%%% END IF_ARRAY_CURRENCY_TYPE %%%>
|
||
|
|
// <%%% START IF_ARRAY_DATETIME_TYPE %%%>
|
||
|
|
Serializer->ReadDateTime(Serializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), &lval, i);
|
||
|
|
// <%%% END IF_ARRAY_DATETIME_TYPE %%%>
|
||
|
|
// <%%% START IF_ARRAY_DECIMAL_TYPE %%%>
|
||
|
|
Serializer->ReadDecimal(Serializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), &lval, i);
|
||
|
|
// <%%% END IF_ARRAY_DECIMAL_TYPE %%%>
|
||
|
|
// <%%% START IF_ARRAY_DOUBLE_TYPE %%%>
|
||
|
|
Serializer->ReadDouble(Serializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), ftDouble, &lval, i);
|
||
|
|
// <%%% END IF_ARRAY_DOUBLE_TYPE %%%>
|
||
|
|
// <%%% START IF_ARRAY_GUID_TYPE %%%>
|
||
|
|
Serializer->ReadGuid(Serializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), &lval, i);
|
||
|
|
// <%%% END IF_ARRAY_GUID_TYPE %%%>
|
||
|
|
// <%%% START IF_ARRAY_INT64_TYPE %%%>
|
||
|
|
Serializer->ReadInt64(Serializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), &lval, i);
|
||
|
|
// <%%% END IF_ARRAY_INT64_TYPE %%%>
|
||
|
|
// <%%% START IF_ARRAY_INTEGER_TYPE %%%>
|
||
|
|
Serializer->ReadInteger(Serializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), otSLong, &lval, i);
|
||
|
|
// <%%% END IF_ARRAY_INTEGER_TYPE %%%>
|
||
|
|
// <%%% START IF_ARRAY_STRING_TYPE %%%>
|
||
|
|
Serializer->ReadUTF8String(Serializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), &lval, i);
|
||
|
|
// <%%% END IF_ARRAY_STRING_TYPE %%%>
|
||
|
|
// <%%% START IF_ARRAY_UTF8STRING_TYPE %%%>
|
||
|
|
Serializer->ReadUTF8String(Serializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), &lval, i);
|
||
|
|
// <%%% END IF_ARRAY_UTF8STRING_TYPE %%%>
|
||
|
|
// <%%% START IF_ARRAY_VARIANT_TYPE %%%>
|
||
|
|
Serializer->ReadVariant(Serializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), &lval, i);
|
||
|
|
// <%%% END IF_ARRAY_VARIANT_TYPE %%%>
|
||
|
|
// <%%% START IF_ARRAY_WIDESTRING_TYPE %%%>
|
||
|
|
Serializer->ReadWideString(Serializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), &lval, i);
|
||
|
|
// <%%% END IF_ARRAY_WIDESTRING_TYPE %%%>
|
||
|
|
// <%%% START IF_ARRAY_XML_TYPE %%%>
|
||
|
|
Serializer->ReadXml(Serializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), &lval, i);
|
||
|
|
// <%%% END IF_ARRAY_XML_TYPE %%%>
|
||
|
|
// <%%% START IF_ARRAY_ARRAY_TYPE %%%>
|
||
|
|
Serializer->ReadArray(Serializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), __classid(%ARRAY_TYPE%), &lval, i);
|
||
|
|
// <%%% END IF_ARRAY_ARRAY_TYPE %%%>
|
||
|
|
// <%%% START IF_ARRAY_ENUM_TYPE %%%>
|
||
|
|
Serializer->ReadEnumerated(Serializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), __Get%ARRAY_TYPE%Info, &lval, i);
|
||
|
|
// <%%% END IF_ARRAY_ENUM_TYPE %%%>
|
||
|
|
// <%%% START IF_ARRAY_STRUCT_TYPE %%%>
|
||
|
|
Serializer->ReadStruct(Serializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), __classid(%ARRAY_TYPE%), &lval, i);
|
||
|
|
// <%%% END IF_ARRAY_STRUCT_TYPE %%%>
|
||
|
|
Items[i] = lval;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
void __fastcall %ARRAY_NAME%::WriteComplex(TObject* ASerializer)
|
||
|
|
{
|
||
|
|
TROSerializer* Serializer = dynamic_cast<TROSerializer*>(ASerializer);
|
||
|
|
for(int i = 0; i < Count; i++)
|
||
|
|
// <%%% START IF_ARRAY_BINARY_TYPE %%%>
|
||
|
|
Serializer->WriteBinary(Serializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), &(fItems[i]), i);
|
||
|
|
// <%%% END IF_ARRAY_BINARY_TYPE %%%>
|
||
|
|
// <%%% START IF_ARRAY_BOOLEAN_TYPE %%%>
|
||
|
|
Serializer->WriteEnumerated(Serializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), __GetboolInfo, &(fItems[i]), i);
|
||
|
|
// <%%% END IF_ARRAY_BOOLEAN_TYPE %%%>
|
||
|
|
// <%%% START IF_ARRAY_CURRENCY_TYPE %%%>
|
||
|
|
Serializer->WriteDouble(Serializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), ftCurr, &(fItems[i]), i);
|
||
|
|
// <%%% END IF_ARRAY_CURRENCY_TYPE %%%>
|
||
|
|
// <%%% START IF_ARRAY_DATETIME_TYPE %%%>
|
||
|
|
Serializer->WriteDateTime(Serializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), &(fItems[i]), i);
|
||
|
|
// <%%% END IF_ARRAY_DATETIME_TYPE %%%>
|
||
|
|
// <%%% START IF_ARRAY_DECIMAL_TYPE %%%>
|
||
|
|
Serializer->WriteDecimal(Serializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), &(fItems[i]), i);
|
||
|
|
// <%%% END IF_ARRAY_DECIMAL_TYPE %%%>
|
||
|
|
// <%%% START IF_ARRAY_DOUBLE_TYPE %%%>
|
||
|
|
Serializer->WriteDouble(Serializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), ftDouble, &(fItems[i]), i);
|
||
|
|
// <%%% END IF_ARRAY_DOUBLE_TYPE %%%>
|
||
|
|
// <%%% START IF_ARRAY_GUID_TYPE %%%>
|
||
|
|
Serializer->WriteGuid(Serializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), &(fItems[i]), i);
|
||
|
|
// <%%% END IF_ARRAY_GUID_TYPE %%%>
|
||
|
|
// <%%% START IF_ARRAY_INT64_TYPE %%%>
|
||
|
|
Serializer->WriteInt64(Serializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), &(fItems[i]), i);
|
||
|
|
// <%%% END IF_ARRAY_INT64_TYPE %%%>
|
||
|
|
// <%%% START IF_ARRAY_INTEGER_TYPE %%%>
|
||
|
|
Serializer->WriteInteger(Serializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), otSLong, &(fItems[i]), i);
|
||
|
|
// <%%% END IF_ARRAY_INTEGER_TYPE %%%>
|
||
|
|
// <%%% START IF_ARRAY_STRING_TYPE %%%>
|
||
|
|
Serializer->WriteUTF8String(Serializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), &(fItems[i]), i);
|
||
|
|
// <%%% END IF_ARRAY_STRING_TYPE %%%>
|
||
|
|
// <%%% START IF_ARRAY_UTF8STRING_TYPE %%%>
|
||
|
|
Serializer->WriteUTF8String(Serializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), &(fItems[i]), i);
|
||
|
|
// <%%% END IF_ARRAY_UTF8STRING_TYPE %%%>
|
||
|
|
// <%%% START IF_ARRAY_VARIANT_TYPE %%%>
|
||
|
|
Serializer->WriteVariant(Serializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), &(fItems[i]), i);
|
||
|
|
// <%%% END IF_ARRAY_VARIANT_TYPE %%%>
|
||
|
|
// <%%% START IF_ARRAY_WIDESTRING_TYPE %%%>
|
||
|
|
Serializer->WriteWideString(Serializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), &(fItems[i]), i);
|
||
|
|
// <%%% END IF_ARRAY_WIDESTRING_TYPE %%%>
|
||
|
|
// <%%% START IF_ARRAY_XML_TYPE %%%>
|
||
|
|
Serializer->WriteXml(Serializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), &(fItems[i]), i);
|
||
|
|
// <%%% END IF_ARRAY_XML_TYPE %%%>
|
||
|
|
// <%%% START IF_ARRAY_ARRAY_TYPE %%%>
|
||
|
|
Serializer->WriteArray(Serializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), &(fItems[i]), i);
|
||
|
|
// <%%% END IF_ARRAY_ARRAY_TYPE %%%>
|
||
|
|
// <%%% START IF_ARRAY_ENUM_TYPE %%%>
|
||
|
|
Serializer->WriteEnumerated(Serializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), TypeInfo(%ARRAY_TYPE%), &(fItems[i]), i);
|
||
|
|
// <%%% END IF_ARRAY_ENUM_TYPE %%%>
|
||
|
|
// <%%% START IF_ARRAY_STRUCT_TYPE %%%>
|
||
|
|
Serializer->WriteStruct(Serializer->GetArrayElementName(GetItemType(__classid(%ARRAY_NAME%)), GetItemRef(i)), &(fItems[i]), i);
|
||
|
|
// <%%% END IF_ARRAY_STRUCT_TYPE %%%>
|
||
|
|
}
|
||
|
|
|
||
|
|
void __fastcall %ARRAY_NAME%::Grow()
|
||
|
|
{
|
||
|
|
int Delta;
|
||
|
|
int Capacity = fItems.Length;
|
||
|
|
if (Capacity > 64)
|
||
|
|
{
|
||
|
|
Delta = Capacity / 4;
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
if (Capacity > 8)
|
||
|
|
Delta = 16;
|
||
|
|
else
|
||
|
|
Delta = 4;
|
||
|
|
}
|
||
|
|
fItems.set_length(Capacity + Delta);
|
||
|
|
}
|
||
|
|
|
||
|
|
// <%%% START IF_ARRAY_TYPE_COMPLEX %%%>
|
||
|
|
%ARRAY_TYPE%* __fastcall %ARRAY_NAME%::GetItems(const int Index)
|
||
|
|
// <%%% END IF_ARRAY_TYPE_COMPLEX %%%>
|
||
|
|
// <%%% START IF_ARRAY_TYPE_SIMPLE %%%>
|
||
|
|
%ARRAY_TYPE% __fastcall %ARRAY_NAME%::GetItems(const int Index)
|
||
|
|
// <%%% END IF_ARRAY_TYPE_SIMPLE %%%>
|
||
|
|
{
|
||
|
|
if ((Index < 0) || (Index >= Count))
|
||
|
|
{
|
||
|
|
RaiseError(LoadResourceString(&_err_ArrayIndexOutOfBounds), ARRAYOFCONST((Index)));
|
||
|
|
}
|
||
|
|
return fItems[Index];
|
||
|
|
}
|
||
|
|
|
||
|
|
// <%%% START IF_ARRAY_TYPE_COMPLEX %%%>
|
||
|
|
void __fastcall %ARRAY_NAME%::SetItems(const int Index, %ARRAY_TYPE%* Value)
|
||
|
|
// <%%% END IF_ARRAY_TYPE_COMPLEX %%%>
|
||
|
|
// <%%% START IF_ARRAY_TYPE_SIMPLE %%%>
|
||
|
|
void __fastcall %ARRAY_NAME%::SetItems(const int Index, %ARRAY_TYPE% Value)
|
||
|
|
// <%%% END IF_ARRAY_TYPE_SIMPLE %%%>
|
||
|
|
{
|
||
|
|
if ((Index < 0) || (Index >= Count))
|
||
|
|
{
|
||
|
|
RaiseError(LoadResourceString(&_err_ArrayIndexOutOfBounds), ARRAYOFCONST((Index)));
|
||
|
|
}
|
||
|
|
// <%%% START IF_ARRAY_TYPE_COMPLEX %%%>
|
||
|
|
delete fItems[Index];
|
||
|
|
// <%%% END IF_ARRAY_TYPE_COMPLEX %%%>
|
||
|
|
fItems[Index] = Value;
|
||
|
|
}
|
||
|
|
|
||
|
|
int __fastcall %ARRAY_NAME%::GetCount()
|
||
|
|
{
|
||
|
|
return fCount;
|
||
|
|
}
|
||
|
|
|
||
|
|
void* __fastcall %ARRAY_NAME%::GetItemRef(const int Index)
|
||
|
|
{
|
||
|
|
if ((Index < 0) || (Index >= Count))
|
||
|
|
{
|
||
|
|
RaiseError(LoadResourceString(&_err_ArrayIndexOutOfBounds), ARRAYOFCONST((Index)));
|
||
|
|
}
|
||
|
|
return &fItems[Index];
|
||
|
|
}
|
||
|
|
|
||
|
|
// <%%% START IF_ARRAY_TYPE_COMPLEX %%%>
|
||
|
|
void __fastcall %ARRAY_NAME%::SetItemRef(const int Index, void* Ref)
|
||
|
|
{
|
||
|
|
if ((Index < 0) || (Index >= Count))
|
||
|
|
{
|
||
|
|
RaiseError(LoadResourceString(&_err_ArrayIndexOutOfBounds), ARRAYOFCONST((Index)));
|
||
|
|
}
|
||
|
|
|
||
|
|
if (Ref != fItems[Index])
|
||
|
|
{
|
||
|
|
delete fItems[Index];
|
||
|
|
fItems[Index] = reinterpret_cast<%ARRAY_TYPE%*>(Ref);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
// <%%% END IF_ARRAY_TYPE_COMPLEX %%%>
|
||
|
|
void __fastcall %ARRAY_NAME%::Clear()
|
||
|
|
{
|
||
|
|
// <%%% START IF_ARRAY_TYPE_COMPLEX %%%>
|
||
|
|
for (int i = 0; i < Count; i++)
|
||
|
|
delete fItems[i];
|
||
|
|
|
||
|
|
// <%%% END IF_ARRAY_TYPE_COMPLEX %%%>
|
||
|
|
fItems.set_length(0);
|
||
|
|
fCount = 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
void __fastcall %ARRAY_NAME%::Delete(const int Index)
|
||
|
|
{
|
||
|
|
if (Index >= Count)
|
||
|
|
{
|
||
|
|
RaiseError(LoadResourceString(&_err_InvalidIndex), ARRAYOFCONST((Index)));
|
||
|
|
}
|
||
|
|
|
||
|
|
// <%%% START IF_ARRAY_TYPE_COMPLEX %%%>
|
||
|
|
delete fItems[Index];
|
||
|
|
|
||
|
|
// <%%% END IF_ARRAY_TYPE_COMPLEX %%%>
|
||
|
|
if (Index < Count - 1)
|
||
|
|
for (int i = Index; i < Count - 1 ; i++)
|
||
|
|
fItems[i] = fItems[i + 1];
|
||
|
|
|
||
|
|
fItems.set_length(Count - 1);
|
||
|
|
fCount--;
|
||
|
|
}
|
||
|
|
|
||
|
|
void __fastcall %ARRAY_NAME%::Resize(const int ElementCount)
|
||
|
|
{
|
||
|
|
// <%%% START IF_ARRAY_TYPE_COMPLEX %%%>
|
||
|
|
int i;
|
||
|
|
for(i = fCount -1; i >= ElementCount; --i)
|
||
|
|
delete fItems[i];
|
||
|
|
// <%%% END IF_ARRAY_TYPE_COMPLEX %%%>
|
||
|
|
fItems.set_length(ElementCount);
|
||
|
|
// <%%% START IF_ARRAY_TYPE_COMPLEX %%%>
|
||
|
|
for(i = fCount; i <= ElementCount -1; ++i)
|
||
|
|
fItems[i] = new %ARRAY_TYPE%();
|
||
|
|
// <%%% END IF_ARRAY_TYPE_COMPLEX %%%>
|
||
|
|
fCount = ElementCount;
|
||
|
|
}
|
||
|
|
|
||
|
|
// <%%% START IF_ARRAY_TYPE_COMPLEX %%%>
|
||
|
|
%ARRAY_TYPE%* __fastcall %ARRAY_NAME%::Add()
|
||
|
|
{
|
||
|
|
%ARRAY_TYPE%* result = new %ARRAY_TYPE%();
|
||
|
|
Add(result);
|
||
|
|
return result;
|
||
|
|
}
|
||
|
|
|
||
|
|
// <%%% END IF_ARRAY_TYPE_COMPLEX %%%>
|
||
|
|
// <%%% START IF_ARRAY_TYPE_COMPLEX %%%>
|
||
|
|
int __fastcall %ARRAY_NAME%::Add(%ARRAY_TYPE%* Value)
|
||
|
|
// <%%% END IF_ARRAY_TYPE_COMPLEX %%%>
|
||
|
|
// <%%% START IF_ARRAY_TYPE_SIMPLE %%%>
|
||
|
|
int __fastcall %ARRAY_NAME%::Add(%ARRAY_TYPE% Value)
|
||
|
|
// <%%% END IF_ARRAY_TYPE_SIMPLE %%%>
|
||
|
|
{
|
||
|
|
int result = Count;
|
||
|
|
if (fItems.Length == result)
|
||
|
|
Grow();
|
||
|
|
|
||
|
|
fItems[result] = Value;
|
||
|
|
fCount++;
|
||
|
|
return result;
|
||
|
|
}
|
||
|
|
// <%%% END ARRAYS %%%>
|
||
|
|
// <%%% START EXCEPTIONS %%%>
|
||
|
|
// %EXCEPTION_NAME%
|
||
|
|
|
||
|
|
%EXCEPTION_NAME%::%EXCEPTION_NAME%(AnsiString anExceptionMessage
|
||
|
|
// <%%% START ANCESTOR_FIELDS %%%>
|
||
|
|
// <%%% START IF_FIELD_TYPE_SIMPLE %%%>
|
||
|
|
, %FIELD_TYPE% a%FIELD_NAME%
|
||
|
|
// <%%% END IF_FIELD_TYPE_SIMPLE %%%>
|
||
|
|
// <%%% START IF_FIELD_TYPE_COMPLEX %%%>
|
||
|
|
, %FIELD_TYPE%* a%FIELD_NAME%
|
||
|
|
// <%%% END IF_FIELD_TYPE_COMPLEX %%%>
|
||
|
|
// <%%% END ANCESTOR_FIELDS %%%>
|
||
|
|
// <%%% START FIELDS_NO_STRIP %%%>
|
||
|
|
// <%%% START IF_FIELD_TYPE_SIMPLE %%%>
|
||
|
|
, %FIELD_TYPE% a%FIELD_NAME%
|
||
|
|
// <%%% END IF_FIELD_TYPE_SIMPLE %%%>
|
||
|
|
// <%%% START IF_FIELD_TYPE_COMPLEX %%%>
|
||
|
|
, %FIELD_TYPE%* a%FIELD_NAME%
|
||
|
|
// <%%% END IF_FIELD_TYPE_COMPLEX %%%>
|
||
|
|
// <%%% END FIELDS_NO_STRIP %%%>
|
||
|
|
): %EXCEPTION_ANCESTOR_NAME%(anExceptionMessage
|
||
|
|
// <%%% START ANCESTOR_FIELDS %%%>
|
||
|
|
, a%FIELD_NAME%
|
||
|
|
// <%%% END ANCESTOR_FIELDS %%%>
|
||
|
|
)
|
||
|
|
{
|
||
|
|
// <%%% START FIELDS_NO_STRIP %%%>
|
||
|
|
f%FIELD_NAME% = a%FIELD_NAME%;
|
||
|
|
// <%%% END FIELDS_NO_STRIP %%%>
|
||
|
|
}
|
||
|
|
|
||
|
|
// <%%% START IF_HAS_FIELDS %%%>
|
||
|
|
void __fastcall %EXCEPTION_NAME%::ReadException(TObject* ASerializer)
|
||
|
|
{
|
||
|
|
if (dynamic_cast<TROSerializer*>(ASerializer)->RecordStrictOrder)
|
||
|
|
{
|
||
|
|
// <%%% START IF_STRUCT_HAS_ANCESTOR %%%>
|
||
|
|
inherited::ReadException(ASerializer);
|
||
|
|
// <%%% END IF_STRUCT_HAS_ANCESTOR %%%>
|
||
|
|
// <%%% START FIELDS_NO_STRIP %%%>
|
||
|
|
// <%%% START IF_FIELD_TYPE_SIMPLE %%%>
|
||
|
|
%FIELD_TYPE% l_%FIELD_NAME% = %FIELD_NAME%;
|
||
|
|
// <%%% END IF_FIELD_TYPE_SIMPLE %%%>
|
||
|
|
// <%%% START IF_FIELD_TYPE_COMPLEX %%%>
|
||
|
|
%FIELD_TYPE%* l_%FIELD_NAME% = %FIELD_NAME%;
|
||
|
|
// <%%% END IF_FIELD_TYPE_COMPLEX %%%>
|
||
|
|
// <%%% START IF_FIELD_BINARY_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadBinary("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
if (%FIELD_NAME% != l_%FIELD_NAME%) delete %FIELD_NAME%;
|
||
|
|
// <%%% END IF_FIELD_BINARY_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_BOOLEAN_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadEnumerated("%FIELD_NAME%", __GetboolInfo, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_BOOLEAN_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_CURRENCY_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadDouble("%FIELD_NAME%", ftCurr, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_CURRENCY_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_DATETIME_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadDateTime("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_DATETIME_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_DECIMAL_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadDecimal("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_DECIMAL_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_DOUBLE_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadDouble("%FIELD_NAME%", ftDouble, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_DOUBLE_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_GUID_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadGuid("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_GUID_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_INT64_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadInt64("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_INT64_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_INTEGER_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadInteger("%FIELD_NAME%", otSLong, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_INTEGER_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_STRING_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadUTF8String("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_STRING_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_UTF8STRING_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadUTF8String("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_UTF8STRING_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_VARIANT_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadVariant("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_VARIANT_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_WIDESTRING_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadWideString("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_WIDESTRING_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_XML_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadXml("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_XML_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_ARRAY_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadArray("%FIELD_NAME%", __classid(%FIELD_TYPE%), &l_%FIELD_NAME%);
|
||
|
|
if (%FIELD_NAME% != l_%FIELD_NAME%) delete %FIELD_NAME%;
|
||
|
|
// <%%% END IF_FIELD_ARRAY_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_ENUM_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadEnumerated("%FIELD_NAME%", __Get%FIELD_TYPE%Info, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_ENUM_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_STRUCT_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadStruct("%FIELD_NAME%", __classid(%FIELD_TYPE%), &l_%FIELD_NAME%);
|
||
|
|
if (%FIELD_NAME% != l_%FIELD_NAME%) delete %FIELD_NAME%;
|
||
|
|
// <%%% END IF_FIELD_STRUCT_TYPE %%%>
|
||
|
|
%FIELD_NAME% = l_%FIELD_NAME%;
|
||
|
|
// <%%% END FIELDS_NO_STRIP %%%>
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
// <%%% START ENTIRE_HIERARCHY_FIELDS %%%>
|
||
|
|
// <%%% START IF_FIELD_TYPE_SIMPLE %%%>
|
||
|
|
%FIELD_TYPE% l_%FIELD_NAME% = %FIELD_NAME%;
|
||
|
|
// <%%% END IF_FIELD_TYPE_SIMPLE %%%>
|
||
|
|
// <%%% START IF_FIELD_TYPE_COMPLEX %%%>
|
||
|
|
%FIELD_TYPE%* l_%FIELD_NAME% = %FIELD_NAME%;
|
||
|
|
// <%%% END IF_FIELD_TYPE_COMPLEX %%%>
|
||
|
|
// <%%% START IF_FIELD_BINARY_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadBinary("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
if (%FIELD_NAME% != l_%FIELD_NAME%) delete %FIELD_NAME%;
|
||
|
|
// <%%% END IF_FIELD_BINARY_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_BOOLEAN_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadEnumerated("%FIELD_NAME%", __GetboolInfo, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_BOOLEAN_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_CURRENCY_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadDouble("%FIELD_NAME%", ftCurr, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_CURRENCY_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_DATETIME_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadDateTime("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_DATETIME_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_DECIMAL_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadDecimal("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_DECIMAL_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_DOUBLE_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadDouble("%FIELD_NAME%", ftDouble, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_DOUBLE_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_GUID_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadGuid("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_GUID_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_INT64_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadInt64("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_INT64_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_INTEGER_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadInteger("%FIELD_NAME%", otSLong, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_INTEGER_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_STRING_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadUTF8String("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_STRING_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_UTF8STRING_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadUTF8String("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_UTF8STRING_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_VARIANT_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadVariant("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_VARIANT_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_WIDESTRING_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadWideString("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_WIDESTRING_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_XML_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadXml("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_XML_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_ARRAY_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadArray("%FIELD_NAME%", __classid(%FIELD_TYPE%), &l_%FIELD_NAME%);
|
||
|
|
if (%FIELD_NAME% != l_%FIELD_NAME%) delete %FIELD_NAME%;
|
||
|
|
// <%%% END IF_FIELD_ARRAY_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_ENUM_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadEnumerated("%FIELD_NAME%", __Get%FIELD_TYPE%Info, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_ENUM_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_STRUCT_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadStruct("%FIELD_NAME%", __classid(%FIELD_TYPE%), &l_%FIELD_NAME%);
|
||
|
|
if (%FIELD_NAME% != l_%FIELD_NAME%) delete %FIELD_NAME%;
|
||
|
|
// <%%% END IF_FIELD_STRUCT_TYPE %%%>
|
||
|
|
%FIELD_NAME% = l_%FIELD_NAME%;
|
||
|
|
// <%%% END ENTIRE_HIERARCHY_FIELDS %%%>
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
void __fastcall %EXCEPTION_NAME%::WriteException(TObject* ASerializer)
|
||
|
|
{
|
||
|
|
if (dynamic_cast<TROSerializer*>(ASerializer)->RecordStrictOrder)
|
||
|
|
{
|
||
|
|
// <%%% START IF_STRUCT_HAS_ANCESTOR %%%>
|
||
|
|
inherited::WriteException(ASerializer);
|
||
|
|
// <%%% END IF_STRUCT_HAS_ANCESTOR %%%>
|
||
|
|
// <%%% START FIELDS_NO_STRIP %%%>
|
||
|
|
// <%%% START IF_FIELD_TYPE_SIMPLE %%%>
|
||
|
|
%FIELD_TYPE% l_%FIELD_NAME% = %FIELD_NAME%;
|
||
|
|
// <%%% END IF_FIELD_TYPE_SIMPLE %%%>
|
||
|
|
// <%%% START IF_FIELD_TYPE_COMPLEX %%%>
|
||
|
|
%FIELD_TYPE%* l_%FIELD_NAME% = %FIELD_NAME%;
|
||
|
|
// <%%% END IF_FIELD_TYPE_COMPLEX %%%>
|
||
|
|
// <%%% START IF_FIELD_BINARY_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteBinary("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_BINARY_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_BOOLEAN_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteEnumerated("%FIELD_NAME%", __GetboolInfo, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_BOOLEAN_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_CURRENCY_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteDouble("%FIELD_NAME%", ftCurr, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_CURRENCY_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_DATETIME_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteDateTime("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_DATETIME_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_DECIMAL_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteDecimal("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_DECIMAL_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_DOUBLE_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteDouble("%FIELD_NAME%", ftDouble, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_DOUBLE_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_GUID_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteGuid("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_GUID_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_INT64_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteInt64("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_INT64_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_INTEGER_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteInteger("%FIELD_NAME%", otSLong, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_INTEGER_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_STRING_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteUTF8String("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_STRING_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_UTF8STRING_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteUTF8String("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_UTF8STRING_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_VARIANT_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteVariant("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_VARIANT_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_WIDESTRING_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteWideString("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_WIDESTRING_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_XML_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteXml("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_XML_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_ARRAY_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteArray("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_ARRAY_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_ENUM_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteEnumerated("%FIELD_NAME%", __Get%FIELD_TYPE%Info, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_ENUM_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_STRUCT_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteStruct("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_STRUCT_TYPE %%%>
|
||
|
|
// <%%% END FIELDS_NO_STRIP %%%>
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
// <%%% START ENTIRE_HIERARCHY_FIELDS %%%>
|
||
|
|
// <%%% START IF_FIELD_TYPE_SIMPLE %%%>
|
||
|
|
%FIELD_TYPE% l_%FIELD_NAME% = %FIELD_NAME%;
|
||
|
|
// <%%% END IF_FIELD_TYPE_SIMPLE %%%>
|
||
|
|
// <%%% START IF_FIELD_TYPE_COMPLEX %%%>
|
||
|
|
%FIELD_TYPE%* l_%FIELD_NAME% = %FIELD_NAME%;
|
||
|
|
// <%%% END IF_FIELD_TYPE_COMPLEX %%%>
|
||
|
|
// <%%% START IF_FIELD_BINARY_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteBinary("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_BINARY_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_BOOLEAN_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteEnumerated("%FIELD_NAME%", __GetboolInfo, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_BOOLEAN_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_CURRENCY_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteDouble("%FIELD_NAME%", ftCurr, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_CURRENCY_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_DATETIME_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteDateTime("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_DATETIME_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_DECIMAL_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteDecimal("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_DECIMAL_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_DOUBLE_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteDouble("%FIELD_NAME%", ftDouble, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_DOUBLE_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_GUID_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteGuid("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_GUID_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_INT64_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteInt64("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_INT64_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_INTEGER_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteInteger("%FIELD_NAME%", otSLong, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_INTEGER_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_STRING_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteUTF8String("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_STRING_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_UTF8STRING_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteUTF8String("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_UTF8STRING_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_VARIANT_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteVariant("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_VARIANT_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_WIDESTRING_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteWideString("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_WIDESTRING_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_XML_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteXml("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_XML_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_ARRAY_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteArray("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_ARRAY_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_ENUM_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteEnumerated("%FIELD_NAME%", __Get%FIELD_TYPE%Info, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_ENUM_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_STRUCT_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteStruct("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_STRUCT_TYPE %%%>
|
||
|
|
// <%%% END ENTIRE_HIERARCHY_FIELDS %%%>
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
// <%%% END IF_HAS_FIELDS %%%>
|
||
|
|
// <%%% END EXCEPTIONS %%%>
|
||
|
|
// <%%% START STRUCTS %%%>
|
||
|
|
// %STRUCT_NAME%
|
||
|
|
|
||
|
|
void __fastcall %STRUCT_NAME%::Assign(Classes::TPersistent* iSource)
|
||
|
|
{
|
||
|
|
inherited::Assign(iSource); // inherited typedef
|
||
|
|
// <%%% START IF_HAS_FIELDS %%%>
|
||
|
|
|
||
|
|
%STRUCT_NAME%* lSource = dynamic_cast<%STRUCT_NAME%*>(iSource);
|
||
|
|
if (lSource)
|
||
|
|
{
|
||
|
|
// <%%% END IF_HAS_FIELDS %%%>
|
||
|
|
// <%%% START FIELDS_NO_STRIP %%%>
|
||
|
|
// <%%% START IF_FIELD_TYPE_SIMPLE %%%>
|
||
|
|
%FIELD_NAME% = lSource->%FIELD_NAME%;
|
||
|
|
// <%%% END IF_FIELD_TYPE_SIMPLE %%%>
|
||
|
|
// <%%% START IF_FIELD_TYPE_COMPLEX %%%>
|
||
|
|
// <%%% START IF_NOT_AUTO_CREATE_FIELDS %%%>
|
||
|
|
if (f%FIELD_NAME% != NULL)
|
||
|
|
%FIELD_NAME%->Assign(lSource->%FIELD_NAME%);
|
||
|
|
// <%%% END IF_NOT_AUTO_CREATE_FIELDS %%%>
|
||
|
|
// <%%% START IF_AUTO_CREATE_FIELDS %%%>
|
||
|
|
%FIELD_NAME%->Assign(lSource->%FIELD_NAME%);
|
||
|
|
// <%%% END IF_AUTO_CREATE_FIELDS %%%>
|
||
|
|
// <%%% END IF_FIELD_TYPE_COMPLEX %%%>
|
||
|
|
// <%%% END FIELDS_NO_STRIP %%%>
|
||
|
|
// <%%% START IF_HAS_FIELDS %%%>
|
||
|
|
}
|
||
|
|
// <%%% END IF_HAS_FIELDS %%%>
|
||
|
|
}
|
||
|
|
|
||
|
|
// <%%% START FIELDS_NO_STRIP %%%>
|
||
|
|
// <%%% START IF_FIELD_TYPE_COMPLEX %%%>
|
||
|
|
%FIELD_TYPE%* __fastcall %STRUCT_NAME%::Get%FIELD_NAME%()
|
||
|
|
{
|
||
|
|
// <%%% START IF_AUTO_CREATE_FIELDS %%%>
|
||
|
|
if (f%FIELD_NAME% == NULL)
|
||
|
|
f%FIELD_NAME% = new %FIELD_TYPE%();
|
||
|
|
// <%%% END IF_AUTO_CREATE_FIELDS %%%>
|
||
|
|
return f%FIELD_NAME%;
|
||
|
|
}
|
||
|
|
|
||
|
|
// <%%% END IF_FIELD_TYPE_COMPLEX %%%>
|
||
|
|
// <%%% END FIELDS_NO_STRIP %%%>
|
||
|
|
// <%%% START IF_HAS_FIELDS %%%>
|
||
|
|
void __fastcall %STRUCT_NAME%::ReadComplex(TObject* ASerializer)
|
||
|
|
{
|
||
|
|
if (dynamic_cast<TROSerializer*>(ASerializer)->RecordStrictOrder)
|
||
|
|
{
|
||
|
|
// <%%% START IF_STRUCT_HAS_ANCESTOR %%%>
|
||
|
|
inherited::ReadException(ASerializer);
|
||
|
|
// <%%% END IF_STRUCT_HAS_ANCESTOR %%%>
|
||
|
|
// <%%% START FIELDS_NO_STRIP %%%>
|
||
|
|
// <%%% START IF_FIELD_TYPE_SIMPLE %%%>
|
||
|
|
%FIELD_TYPE% l_%FIELD_NAME% = %FIELD_NAME%;
|
||
|
|
// <%%% END IF_FIELD_TYPE_SIMPLE %%%>
|
||
|
|
// <%%% START IF_FIELD_TYPE_COMPLEX %%%>
|
||
|
|
%FIELD_TYPE%* l_%FIELD_NAME% = %FIELD_NAME%;
|
||
|
|
// <%%% END IF_FIELD_TYPE_COMPLEX %%%>
|
||
|
|
// <%%% START IF_FIELD_BINARY_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadBinary("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
if (%FIELD_NAME% != l_%FIELD_NAME%) delete %FIELD_NAME%;
|
||
|
|
// <%%% END IF_FIELD_BINARY_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_BOOLEAN_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadEnumerated("%FIELD_NAME%", __GetboolInfo, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_BOOLEAN_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_CURRENCY_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadDouble("%FIELD_NAME%", ftCurr, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_CURRENCY_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_DATETIME_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadDateTime("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_DATETIME_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_DECIMAL_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadDecimal("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_DECIMAL_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_DOUBLE_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadDouble("%FIELD_NAME%", ftDouble, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_DOUBLE_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_GUID_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadGuid("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_GUID_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_INT64_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadInt64("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_INT64_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_INTEGER_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadInteger("%FIELD_NAME%", otSLong, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_INTEGER_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_STRING_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadUTF8String("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_STRING_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_UTF8STRING_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadUTF8String("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_UTF8STRING_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_VARIANT_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadVariant("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_VARIANT_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_WIDESTRING_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadWideString("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_WIDESTRING_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_XML_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadXml("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_XML_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_ARRAY_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadArray("%FIELD_NAME%", __classid(%FIELD_TYPE%), &l_%FIELD_NAME%);
|
||
|
|
if (%FIELD_NAME% != l_%FIELD_NAME%) delete %FIELD_NAME%;
|
||
|
|
// <%%% END IF_FIELD_ARRAY_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_ENUM_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadEnumerated("%FIELD_NAME%", __Get%FIELD_TYPE%Info, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_ENUM_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_STRUCT_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadStruct("%FIELD_NAME%", __classid(%FIELD_TYPE%), &l_%FIELD_NAME%);
|
||
|
|
if (%FIELD_NAME% != l_%FIELD_NAME%) delete %FIELD_NAME%;
|
||
|
|
// <%%% END IF_FIELD_STRUCT_TYPE %%%>
|
||
|
|
%FIELD_NAME% = l_%FIELD_NAME%;
|
||
|
|
// <%%% END FIELDS_NO_STRIP %%%>
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
// <%%% START ENTIRE_HIERARCHY_FIELDS %%%>
|
||
|
|
// <%%% START IF_FIELD_TYPE_SIMPLE %%%>
|
||
|
|
%FIELD_TYPE% l_%FIELD_NAME% = %FIELD_NAME%;
|
||
|
|
// <%%% END IF_FIELD_TYPE_SIMPLE %%%>
|
||
|
|
// <%%% START IF_FIELD_TYPE_COMPLEX %%%>
|
||
|
|
%FIELD_TYPE%* l_%FIELD_NAME% = %FIELD_NAME%;
|
||
|
|
// <%%% END IF_FIELD_TYPE_COMPLEX %%%>
|
||
|
|
// <%%% START IF_FIELD_BINARY_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadBinary("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
if (%FIELD_NAME% != l_%FIELD_NAME%) delete %FIELD_NAME%;
|
||
|
|
// <%%% END IF_FIELD_BINARY_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_BOOLEAN_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadEnumerated("%FIELD_NAME%", __GetboolInfo, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_BOOLEAN_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_CURRENCY_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadDouble("%FIELD_NAME%", ftCurr, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_CURRENCY_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_DATETIME_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadDateTime("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_DATETIME_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_DECIMAL_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadDecimal("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_DECIMAL_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_DOUBLE_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadDouble("%FIELD_NAME%", ftDouble, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_DOUBLE_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_GUID_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadGuid("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_GUID_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_INT64_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadInt64("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_INT64_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_INTEGER_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadInteger("%FIELD_NAME%", otSLong, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_INTEGER_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_STRING_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadUTF8String("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_STRING_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_UTF8STRING_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadUTF8String("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_UTF8STRING_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_VARIANT_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadVariant("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_VARIANT_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_WIDESTRING_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadWideString("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_WIDESTRING_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_XML_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadXml("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_XML_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_ARRAY_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadArray("%FIELD_NAME%", __classid(%FIELD_TYPE%), &l_%FIELD_NAME%);
|
||
|
|
if (%FIELD_NAME% != l_%FIELD_NAME%) delete %FIELD_NAME%;
|
||
|
|
// <%%% END IF_FIELD_ARRAY_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_ENUM_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadEnumerated("%FIELD_NAME%", __Get%FIELD_TYPE%Info, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_ENUM_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_STRUCT_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->ReadStruct("%FIELD_NAME%", __classid(%FIELD_TYPE%), &l_%FIELD_NAME%);
|
||
|
|
if (%FIELD_NAME% != l_%FIELD_NAME%) delete %FIELD_NAME%;
|
||
|
|
// <%%% END IF_FIELD_STRUCT_TYPE %%%>
|
||
|
|
%FIELD_NAME% = l_%FIELD_NAME%;
|
||
|
|
// <%%% END ENTIRE_HIERARCHY_FIELDS %%%>
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
void __fastcall %STRUCT_NAME%::WriteComplex(TObject* ASerializer)
|
||
|
|
{
|
||
|
|
if (dynamic_cast<TROSerializer*>(ASerializer)->RecordStrictOrder)
|
||
|
|
{
|
||
|
|
// <%%% START IF_STRUCT_HAS_ANCESTOR %%%>
|
||
|
|
inherited::WriteException(ASerializer);
|
||
|
|
// <%%% END IF_STRUCT_HAS_ANCESTOR %%%>
|
||
|
|
// <%%% START FIELDS_NO_STRIP %%%>
|
||
|
|
// <%%% START IF_FIELD_TYPE_SIMPLE %%%>
|
||
|
|
%FIELD_TYPE% l_%FIELD_NAME% = %FIELD_NAME%;
|
||
|
|
// <%%% END IF_FIELD_TYPE_SIMPLE %%%>
|
||
|
|
// <%%% START IF_FIELD_TYPE_COMPLEX %%%>
|
||
|
|
%FIELD_TYPE%* l_%FIELD_NAME% = %FIELD_NAME%;
|
||
|
|
// <%%% END IF_FIELD_TYPE_COMPLEX %%%>
|
||
|
|
// <%%% START IF_FIELD_BINARY_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteBinary("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_BINARY_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_BOOLEAN_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteEnumerated("%FIELD_NAME%", __GetboolInfo, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_BOOLEAN_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_CURRENCY_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteDouble("%FIELD_NAME%", ftCurr, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_CURRENCY_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_DATETIME_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteDateTime("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_DATETIME_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_DECIMAL_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteDecimal("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_DECIMAL_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_DOUBLE_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteDouble("%FIELD_NAME%", ftDouble, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_DOUBLE_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_GUID_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteGuid("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_GUID_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_INT64_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteInt64("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_INT64_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_INTEGER_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteInteger("%FIELD_NAME%", otSLong, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_INTEGER_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_STRING_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteUTF8String("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_STRING_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_UTF8STRING_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteUTF8String("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_UTF8STRING_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_VARIANT_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteVariant("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_VARIANT_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_WIDESTRING_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteWideString("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_WIDESTRING_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_XML_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteXml("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_XML_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_ARRAY_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteArray("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_ARRAY_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_ENUM_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteEnumerated("%FIELD_NAME%", __Get%FIELD_TYPE%Info, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_ENUM_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_STRUCT_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteStruct("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_STRUCT_TYPE %%%>
|
||
|
|
// <%%% END FIELDS_NO_STRIP %%%>
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
// <%%% START ENTIRE_HIERARCHY_FIELDS %%%>
|
||
|
|
// <%%% START IF_FIELD_TYPE_SIMPLE %%%>
|
||
|
|
%FIELD_TYPE% l_%FIELD_NAME% = %FIELD_NAME%;
|
||
|
|
// <%%% END IF_FIELD_TYPE_SIMPLE %%%>
|
||
|
|
// <%%% START IF_FIELD_TYPE_COMPLEX %%%>
|
||
|
|
%FIELD_TYPE%* l_%FIELD_NAME% = %FIELD_NAME%;
|
||
|
|
// <%%% END IF_FIELD_TYPE_COMPLEX %%%>
|
||
|
|
// <%%% START IF_FIELD_BINARY_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteBinary("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_BINARY_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_BOOLEAN_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteEnumerated("%FIELD_NAME%", __GetboolInfo, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_BOOLEAN_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_CURRENCY_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteDouble("%FIELD_NAME%", ftCurr, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_CURRENCY_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_DATETIME_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteDateTime("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_DATETIME_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_DECIMAL_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteDecimal("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_DECIMAL_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_DOUBLE_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteDouble("%FIELD_NAME%", ftDouble, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_DOUBLE_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_GUID_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteGuid("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_GUID_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_INT64_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteInt64("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_INT64_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_INTEGER_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteInteger("%FIELD_NAME%", otSLong, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_INTEGER_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_STRING_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteUTF8String("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_STRING_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_UTF8STRING_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteUTF8String("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_UTF8STRING_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_VARIANT_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteVariant("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_VARIANT_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_WIDESTRING_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteWideString("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_WIDESTRING_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_XML_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteXml("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_XML_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_ARRAY_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteArray("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_ARRAY_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_ENUM_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteEnumerated("%FIELD_NAME%", __Get%FIELD_TYPE%Info, &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_ENUM_TYPE %%%>
|
||
|
|
// <%%% START IF_FIELD_STRUCT_TYPE %%%>
|
||
|
|
dynamic_cast<TROSerializer*>(ASerializer)->WriteStruct("%FIELD_NAME%", &l_%FIELD_NAME%);
|
||
|
|
// <%%% END IF_FIELD_STRUCT_TYPE %%%>
|
||
|
|
// <%%% END ENTIRE_HIERARCHY_FIELDS %%%>
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
// <%%% END IF_HAS_FIELDS %%%>
|
||
|
|
//%STRUCT_COLLECTION_NAME%
|
||
|
|
%STRUCT_NAME%* __fastcall %STRUCT_COLLECTION_NAME%::Add()
|
||
|
|
{
|
||
|
|
return dynamic_cast<%STRUCT_NAME%*>(inherited::Add());
|
||
|
|
}
|
||
|
|
|
||
|
|
%STRUCT_NAME%* __fastcall %STRUCT_COLLECTION_NAME%::GetItems(const int Index)
|
||
|
|
{
|
||
|
|
return dynamic_cast<%STRUCT_NAME%*>(inherited::Items[Index]);
|
||
|
|
}
|
||
|
|
|
||
|
|
void __fastcall %STRUCT_COLLECTION_NAME%::SetItems(const int Index, %STRUCT_NAME%* Value)
|
||
|
|
{
|
||
|
|
dynamic_cast<%STRUCT_NAME%*>(inherited::Items[Index])->Assign(Value);
|
||
|
|
}
|
||
|
|
|
||
|
|
// <%%% START ARRAYS_IS_FOUND %%%>
|
||
|
|
void %STRUCT_COLLECTION_NAME%::LoadFromArray(%ARRAY_NAME%* anArray)
|
||
|
|
{
|
||
|
|
Clear();
|
||
|
|
|
||
|
|
for(int i = 0; i <= anArray->Count-1; ++i)
|
||
|
|
Add()->Assign((*anArray)[i]);
|
||
|
|
}
|
||
|
|
|
||
|
|
void %STRUCT_COLLECTION_NAME%::SaveToArray(%ARRAY_NAME%* anArray)
|
||
|
|
{
|
||
|
|
anArray->Clear();
|
||
|
|
anArray->Resize(Count);
|
||
|
|
for(int i = 0; i <= Count-1; ++i)
|
||
|
|
{
|
||
|
|
anArray->Items[i] = new %STRUCT_NAME%;
|
||
|
|
anArray->Items[i]->Assign(Items[i]);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
// <%%% END ARRAYS_IS_FOUND %%%>
|
||
|
|
// <%%% END STRUCTS %%%>
|
||
|
|
// <%%% START SERVICES %%%>
|
||
|
|
// <%%% START FUNCTION_OPERATIONS %%%>
|
||
|
|
// <%%% START IF_RESULT_SIMPLE %%%>
|
||
|
|
%OPERATION_RESULT% __fastcall T%SERVICE_NAME%_Proxy::%OPERATION_NAME%(
|
||
|
|
// <%%% END IF_RESULT_SIMPLE %%%>
|
||
|
|
// <%%% START IF_RESULT_COMPLEX %%%>
|
||
|
|
%OPERATION_RESULT%* __fastcall T%SERVICE_NAME%_Proxy::%OPERATION_NAME%(
|
||
|
|
// <%%% END IF_RESULT_COMPLEX %%%>
|
||
|
|
// <%%% START PARAMS %%%>
|
||
|
|
// <%%% START IF_PARAM_TYPE_SIMPLE %%%>
|
||
|
|
%PARAM_FRONT_MODIFIER% %PARAM_TYPE% %PARAM_BACK_MODIFIER% %PARAM_NAME%,
|
||
|
|
// <%%% END IF_PARAM_TYPE_SIMPLE %%%>
|
||
|
|
// <%%% START IF_PARAM_TYPE_COMPLEX %%%>
|
||
|
|
%PARAM_FRONT_MODIFIER% %PARAM_TYPE%* %PARAM_BACK_MODIFIER% %PARAM_NAME%,
|
||
|
|
// <%%% END IF_PARAM_TYPE_COMPLEX %%%>
|
||
|
|
// <%%% END PARAMS %%%>
|
||
|
|
)
|
||
|
|
{
|
||
|
|
// <%%% START IF_RESULT_SIMPLE %%%>
|
||
|
|
%OPERATION_RESULT% result;
|
||
|
|
// <%%% END IF_RESULT_SIMPLE %%%>
|
||
|
|
// <%%% START IF_RESULT_COMPLEX %%%>
|
||
|
|
%OPERATION_RESULT%* result;
|
||
|
|
// <%%% END IF_RESULT_COMPLEX %%%>
|
||
|
|
|
||
|
|
// <%%% START OUT_PARAMS_NO_STRIP %%%>
|
||
|
|
// <%%% START IF_PARAM_TYPE_COMPLEX %%%>
|
||
|
|
%PARAM_NAME% = NULL;
|
||
|
|
// <%%% END IF_PARAM_TYPE_COMPLEX %%%>
|
||
|
|
// <%%% END OUT_PARAMS_NO_STRIP %%%>
|
||
|
|
// <%%% START IF_RESULT_COMPLEX %%%>
|
||
|
|
result = NULL;
|
||
|
|
// <%%% END IF_RESULT_COMPLEX %%%>
|
||
|
|
try
|
||
|
|
{
|
||
|
|
__Message->InitializeRequestMessage(__TransportChannel, "%LIBRARY_NAME%", __InterfaceName, "%OPERATION_NAME%");
|
||
|
|
// <%%% START IN_PARAMS_NO_STRIP %%%>
|
||
|
|
// <%%% START IF_PARAM_TYPE_SIMPLE %%%>
|
||
|
|
__Message->Write("%PARAM_NAME%", __Get%PARAM_TYPE%Info, &%PARAM_NAME%, TParamAttributes(%PARAM_ATTRIBUTE%));
|
||
|
|
// <%%% END IF_PARAM_TYPE_SIMPLE %%%>
|
||
|
|
// <%%% START IF_PARAM_TYPE_COMPLEX %%%>
|
||
|
|
__Message->Write("%PARAM_NAME%", __typeinfo(%PARAM_TYPE%), %PARAM_NAME%, TParamAttributes(%PARAM_ATTRIBUTE%));
|
||
|
|
// <%%% END IF_PARAM_TYPE_COMPLEX %%%>
|
||
|
|
// <%%% END IN_PARAMS_NO_STRIP %%%>
|
||
|
|
__Message->Finalize();
|
||
|
|
|
||
|
|
__TransportChannel->Dispatch(__Message);
|
||
|
|
|
||
|
|
// <%%% START OUT_PARAMS_NO_STRIP %%%>
|
||
|
|
// <%%% START IF_PARAM_TYPE_SIMPLE %%%>
|
||
|
|
__Message->Read("%PARAM_NAME%", __Get%PARAM_TYPE%Info, &%PARAM_NAME%, TParamAttributes(%PARAM_ATTRIBUTE%));
|
||
|
|
// <%%% END IF_PARAM_TYPE_SIMPLE %%%>
|
||
|
|
// <%%% START IF_PARAM_TYPE_COMPLEX %%%>
|
||
|
|
__Message->Read("%PARAM_NAME%", __typeinfo(%PARAM_TYPE%), %PARAM_NAME%, TParamAttributes(%PARAM_ATTRIBUTE%));
|
||
|
|
// <%%% END IF_PARAM_TYPE_COMPLEX %%%>
|
||
|
|
// <%%% END OUT_PARAMS_NO_STRIP %%%>
|
||
|
|
// <%%% START IF_RESULT_SIMPLE %%%>
|
||
|
|
__Message->Read("Result", __Get%OPERATION_RESULT%Info, &result, TParamAttributes(%OPERATION_RESULT_ATTRIBUTE%));
|
||
|
|
// <%%% END IF_RESULT_SIMPLE %%%>
|
||
|
|
// <%%% START IF_RESULT_COMPLEX %%%>
|
||
|
|
__Message->Read("Result", __typeinfo(%OPERATION_RESULT%), result, TParamAttributes(%OPERATION_RESULT_ATTRIBUTE%));
|
||
|
|
// <%%% END IF_RESULT_COMPLEX %%%>
|
||
|
|
}
|
||
|
|
__finally
|
||
|
|
{
|
||
|
|
__Message->FreeStream();
|
||
|
|
}
|
||
|
|
return result;
|
||
|
|
}
|
||
|
|
|
||
|
|
// <%%% END FUNCTION_OPERATIONS %%%>
|
||
|
|
// <%%% START PROCEDURE_OPERATIONS %%%>
|
||
|
|
void __fastcall T%SERVICE_NAME%_Proxy::%OPERATION_NAME%(
|
||
|
|
// <%%% START PARAMS %%%>
|
||
|
|
// <%%% START IF_PARAM_TYPE_SIMPLE %%%>
|
||
|
|
%PARAM_FRONT_MODIFIER% %PARAM_TYPE% %PARAM_BACK_MODIFIER% %PARAM_NAME%,
|
||
|
|
// <%%% END IF_PARAM_TYPE_SIMPLE %%%>
|
||
|
|
// <%%% START IF_PARAM_TYPE_COMPLEX %%%>
|
||
|
|
%PARAM_FRONT_MODIFIER% %PARAM_TYPE%* %PARAM_BACK_MODIFIER% %PARAM_NAME%,
|
||
|
|
// <%%% END IF_PARAM_TYPE_COMPLEX %%%>
|
||
|
|
// <%%% END PARAMS %%%>
|
||
|
|
)
|
||
|
|
{
|
||
|
|
// <%%% START OUT_PARAMS_NO_STRIP %%%>
|
||
|
|
// <%%% START IF_PARAM_TYPE_COMPLEX %%%>
|
||
|
|
%PARAM_NAME% = NULL;
|
||
|
|
// <%%% END IF_PARAM_TYPE_COMPLEX %%%>
|
||
|
|
// <%%% END OUT_PARAMS_NO_STRIP %%%>
|
||
|
|
try
|
||
|
|
{
|
||
|
|
__Message->InitializeRequestMessage(__TransportChannel, "%LIBRARY_NAME%", __InterfaceName, "%OPERATION_NAME%");
|
||
|
|
// <%%% START IN_PARAMS_NO_STRIP %%%>
|
||
|
|
// <%%% START IF_PARAM_TYPE_SIMPLE %%%>
|
||
|
|
__Message->Write("%PARAM_NAME%", __Get%PARAM_TYPE%Info, &%PARAM_NAME%, TParamAttributes(%PARAM_ATTRIBUTE%));
|
||
|
|
// <%%% END IF_PARAM_TYPE_SIMPLE %%%>
|
||
|
|
// <%%% START IF_PARAM_TYPE_COMPLEX %%%>
|
||
|
|
__Message->Write("%PARAM_NAME%", __typeinfo(%PARAM_TYPE%), %PARAM_NAME%, TParamAttributes(%PARAM_ATTRIBUTE%));
|
||
|
|
// <%%% END IF_PARAM_TYPE_COMPLEX %%%>
|
||
|
|
// <%%% END IN_PARAMS_NO_STRIP %%%>
|
||
|
|
__Message->Finalize();
|
||
|
|
|
||
|
|
__TransportChannel->Dispatch(__Message);
|
||
|
|
|
||
|
|
// <%%% START OUT_PARAMS_NO_STRIP %%%>
|
||
|
|
// <%%% START IF_PARAM_TYPE_SIMPLE %%%>
|
||
|
|
__Message->Read("%PARAM_NAME%", __Get%PARAM_TYPE%Info, &%PARAM_NAME%, TParamAttributes(%PARAM_ATTRIBUTE%));
|
||
|
|
// <%%% END IF_PARAM_TYPE_SIMPLE %%%>
|
||
|
|
// <%%% START IF_PARAM_TYPE_COMPLEX %%%>
|
||
|
|
__Message->Read("%PARAM_NAME%", __typeinfo(%PARAM_TYPE%), %PARAM_NAME%, TParamAttributes(%PARAM_ATTRIBUTE%));
|
||
|
|
// <%%% END IF_PARAM_TYPE_COMPLEX %%%>
|
||
|
|
// <%%% END OUT_PARAMS_NO_STRIP %%%>
|
||
|
|
}
|
||
|
|
__finally
|
||
|
|
{
|
||
|
|
__Message->FreeStream();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
// <%%% END PROCEDURE_OPERATIONS %%%>
|
||
|
|
// <%%% END SERVICES %%%>
|
||
|
|
// <%%% START EVENT_SINKS %%%>
|
||
|
|
|
||
|
|
namespace %NAMESPACE_NAME%
|
||
|
|
{
|
||
|
|
// T%EVENT_SINK_NAME%_Writer
|
||
|
|
class DELPHICLASS T%EVENT_SINK_NAME%_Writer;
|
||
|
|
class T%EVENT_SINK_NAME%_Writer : public T%EVENT_SINK_WRITER_ANCESTOR_NAME%, I%EVENT_SINK_NAME%_Writer
|
||
|
|
{
|
||
|
|
protected:
|
||
|
|
// <%%% START OPERATIONS %%%>
|
||
|
|
void __fastcall %OPERATION_NAME%(const GUID __Sender
|
||
|
|
// <%%% START PARAMS %%%>
|
||
|
|
// <%%% START IF_PARAM_TYPE_SIMPLE %%%>
|
||
|
|
, %PARAM_FRONT_MODIFIER% %PARAM_TYPE% %PARAM_BACK_MODIFIER% %PARAM_NAME%
|
||
|
|
// <%%% END IF_PARAM_TYPE_SIMPLE %%%>
|
||
|
|
// <%%% START IF_PARAM_TYPE_COMPLEX %%%>
|
||
|
|
, %PARAM_FRONT_MODIFIER% %PARAM_TYPE%* %PARAM_BACK_MODIFIER% %PARAM_NAME%
|
||
|
|
// <%%% END IF_PARAM_TYPE_COMPLEX %%%>
|
||
|
|
// <%%% END PARAMS %%%>
|
||
|
|
);
|
||
|
|
// <%%% END OPERATIONS %%%>
|
||
|
|
};
|
||
|
|
|
||
|
|
} // namespace %NAMESPACE_NAME%
|
||
|
|
|
||
|
|
// <%%% START OPERATIONS %%%>
|
||
|
|
void __fastcall T%EVENT_SINK_NAME%_Writer::%OPERATION_NAME%(const GUID __Sender
|
||
|
|
// <%%% START PARAMS %%%>
|
||
|
|
// <%%% START IF_PARAM_TYPE_SIMPLE %%%>
|
||
|
|
, %PARAM_FRONT_MODIFIER% %PARAM_TYPE% %PARAM_BACK_MODIFIER% %PARAM_NAME%
|
||
|
|
// <%%% END IF_PARAM_TYPE_SIMPLE %%%>
|
||
|
|
// <%%% START IF_PARAM_TYPE_COMPLEX %%%>
|
||
|
|
, %PARAM_FRONT_MODIFIER% %PARAM_TYPE%* %PARAM_BACK_MODIFIER% %PARAM_NAME%
|
||
|
|
// <%%% END IF_PARAM_TYPE_COMPLEX %%%>
|
||
|
|
// <%%% END PARAMS %%%>
|
||
|
|
)
|
||
|
|
{
|
||
|
|
Binary* __eventdata = new Binary("");
|
||
|
|
try
|
||
|
|
{
|
||
|
|
__Message->InitializeEventMessage(NULL, "%LIBRARY_NAME%", EID_%EVENT_SINK_NAME%, "%OPERATION_NAME%");
|
||
|
|
// <%%% START PARAMS_NO_STRIP %%%>
|
||
|
|
// <%%% START IF_PARAM_TYPE_SIMPLE %%%>
|
||
|
|
__Message->Write("%PARAM_NAME%", __Get%PARAM_TYPE%Info, &%PARAM_NAME%, TParamAttributes(%PARAM_ATTRIBUTE%));
|
||
|
|
// <%%% END IF_PARAM_TYPE_SIMPLE %%%>
|
||
|
|
// <%%% START IF_PARAM_TYPE_COMPLEX %%%>
|
||
|
|
__Message->Write("%PARAM_NAME%", __typeinfo(%PARAM_TYPE%), %PARAM_NAME%, TParamAttributes(%PARAM_ATTRIBUTE%));
|
||
|
|
// <%%% END IF_PARAM_TYPE_COMPLEX %%%>
|
||
|
|
// <%%% END PARAMS_NO_STRIP %%%>
|
||
|
|
__Message->Finalize();
|
||
|
|
|
||
|
|
__Message->WriteToStream(__eventdata);
|
||
|
|
|
||
|
|
Repository->StoreEventData(__Sender, __eventdata, TROEventWriter::ExcludeSender, TROEventWriter::ExcludeSessionList, TROEventWriter::SessionList->CommaText);
|
||
|
|
}
|
||
|
|
__finally
|
||
|
|
{
|
||
|
|
delete __eventdata;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
// <%%% END OPERATIONS %%%>
|
||
|
|
/* T%EVENT_SINK_NAME%_Invoker */
|
||
|
|
namespace %NAMESPACE_NAME%
|
||
|
|
{
|
||
|
|
class DELPHICLASS T%EVENT_SINK_NAME%_Invoker;
|
||
|
|
class T%EVENT_SINK_NAME%_Invoker : public T%EVENT_SINK_INVOKER_ANCESTOR_NAME%
|
||
|
|
{
|
||
|
|
__published:
|
||
|
|
// <%%% START OPERATIONS %%%>
|
||
|
|
void __fastcall Invoke_%OPERATION_NAME%(TROEventReceiver* __EventReceiver, IROMessage* __Message, IUnknown* __Target);
|
||
|
|
// <%%% END OPERATIONS %%%>
|
||
|
|
};
|
||
|
|
} // namespace %NAMESPACE_NAME%
|
||
|
|
|
||
|
|
// <%%% START OPERATIONS %%%>
|
||
|
|
void __fastcall T%EVENT_SINK_NAME%_Invoker::Invoke_%OPERATION_NAME%(TROEventReceiver* __EventReceiver, IROMessage* __Message, IUnknown* __Target)
|
||
|
|
{
|
||
|
|
// <%%% START PARAMS_NO_STRIP %%%>
|
||
|
|
// <%%% START IF_PARAM_TYPE_SIMPLE %%%>
|
||
|
|
%PARAM_TYPE% %PARAM_NAME%;
|
||
|
|
// <%%% END IF_PARAM_TYPE_SIMPLE %%%>
|
||
|
|
// <%%% START IF_PARAM_TYPE_COMPLEX %%%>
|
||
|
|
%PARAM_TYPE%* %PARAM_NAME%;
|
||
|
|
// <%%% END IF_PARAM_TYPE_COMPLEX %%%>
|
||
|
|
// <%%% END PARAMS_NO_STRIP %%%>
|
||
|
|
// <%%% START IF_HAS_COMPLEX_TYPE %%%>
|
||
|
|
TROObjectDisposer* __lObjectDisposer;
|
||
|
|
// <%%% END IF_HAS_COMPLEX_TYPE %%%>
|
||
|
|
I%EVENT_SINK_NAME%* __%EVENT_SINK_NAME%Instance;
|
||
|
|
|
||
|
|
// <%%% START PARAMS_NO_STRIP %%%>
|
||
|
|
// <%%% START IF_PARAM_TYPE_COMPLEX %%%>
|
||
|
|
%PARAM_NAME% = NULL;
|
||
|
|
// <%%% END IF_PARAM_TYPE_COMPLEX %%%>
|
||
|
|
// <%%% END PARAMS_NO_STRIP %%%>
|
||
|
|
try
|
||
|
|
{
|
||
|
|
// <%%% START IN_PARAMS_NO_STRIP %%%>
|
||
|
|
// <%%% START IF_PARAM_TYPE_SIMPLE %%%>
|
||
|
|
__Message->Read("%PARAM_NAME%", __Get%PARAM_TYPE%Info, &%PARAM_NAME%, TParamAttributes(%PARAM_ATTRIBUTE%));
|
||
|
|
// <%%% END IF_PARAM_TYPE_SIMPLE %%%>
|
||
|
|
// <%%% START IF_PARAM_TYPE_COMPLEX %%%>
|
||
|
|
__Message->Read("%PARAM_NAME%", __typeinfo(%PARAM_TYPE%), %PARAM_NAME%, TParamAttributes(%PARAM_ATTRIBUTE%));
|
||
|
|
// <%%% END IF_PARAM_TYPE_COMPLEX %%%>
|
||
|
|
// <%%% END IN_PARAMS_NO_STRIP %%%>
|
||
|
|
|
||
|
|
__%EVENT_SINK_NAME%Instance = dynamic_cast<I%EVENT_SINK_NAME%*>(__Target);
|
||
|
|
__%EVENT_SINK_NAME%Instance->%OPERATION_NAME%(
|
||
|
|
// <%%% START PARAMS %%%>
|
||
|
|
%PARAM_NAME%,
|
||
|
|
// <%%% END PARAMS %%%>
|
||
|
|
);
|
||
|
|
|
||
|
|
// <%%% START OUT_PARAMS_NO_STRIP %%%>
|
||
|
|
// <%%% START IF_PARAM_TYPE_SIMPLE %%%>
|
||
|
|
__Message->Write("%PARAM_NAME%", __Get%PARAM_TYPE%Info, &%PARAM_NAME%, TParamAttributes(%PARAM_ATTRIBUTE%));
|
||
|
|
// <%%% END IF_PARAM_TYPE_SIMPLE %%%>
|
||
|
|
// <%%% START IF_PARAM_TYPE_COMPLEX %%%>
|
||
|
|
__Message->Write("%PARAM_NAME%", __typeinfo(%PARAM_TYPE%), %PARAM_NAME%, TParamAttributes(%PARAM_ATTRIBUTE%));
|
||
|
|
// <%%% END IF_PARAM_TYPE_COMPLEX %%%>
|
||
|
|
// <%%% END OUT_PARAMS_NO_STRIP %%%>
|
||
|
|
}
|
||
|
|
__finally
|
||
|
|
{
|
||
|
|
// <%%% START IF_HAS_COMPLEX_TYPE %%%>
|
||
|
|
__lObjectDisposer = new TROObjectDisposer(__EventReceiver->operator IInterface *());
|
||
|
|
try
|
||
|
|
{
|
||
|
|
// <%%% START PARAMS_NO_STRIP %%%>
|
||
|
|
// <%%% START IF_PARAM_TYPE_COMPLEX %%%>
|
||
|
|
__lObjectDisposer->Add(%PARAM_NAME%);
|
||
|
|
// <%%% END IF_PARAM_TYPE_COMPLEX %%%>
|
||
|
|
// <%%% END PARAMS_NO_STRIP %%%>
|
||
|
|
}
|
||
|
|
__finally
|
||
|
|
{
|
||
|
|
delete __lObjectDisposer;
|
||
|
|
}
|
||
|
|
// <%%% END IF_HAS_COMPLEX_TYPE %%%>
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
// <%%% END OPERATIONS %%%>
|
||
|
|
// <%%% END EVENT_SINKS %%%>
|
||
|
|
void __initialization_%UNIT_NAME%()
|
||
|
|
{
|
||
|
|
// <%%% START STRUCTS %%%>
|
||
|
|
RegisterROClass(__classid(%STRUCT_NAME%));
|
||
|
|
// <%%% END STRUCTS %%%>
|
||
|
|
// <%%% START ARRAYS %%%>
|
||
|
|
RegisterROClass(__classid(%ARRAY_NAME%));
|
||
|
|
// <%%% END ARRAYS %%%>
|
||
|
|
// <%%% START EXCEPTIONS %%%>
|
||
|
|
RegisterExceptionClass(__classid(%EXCEPTION_NAME%));
|
||
|
|
// <%%% END EXCEPTIONS %%%>
|
||
|
|
// <%%% START SERVICES %%%>
|
||
|
|
RegisterProxyClass(I%SERVICE_NAME%_IID, __classid(T%SERVICE_NAME%_Proxy));
|
||
|
|
// <%%% END SERVICES %%%>
|
||
|
|
// <%%% START EVENT_SINKS %%%>
|
||
|
|
RegisterEventWriterClass(I%EVENT_SINK_NAME%_IID, __classid(T%EVENT_SINK_NAME%_Writer));
|
||
|
|
RegisterEventInvokerClass(EID_%EVENT_SINK_NAME%, __classid(T%EVENT_SINK_NAME%_Invoker));
|
||
|
|
// <%%% END EVENT_SINKS %%%>
|
||
|
|
}
|
||
|
|
|
||
|
|
void __finalization_%UNIT_NAME%()
|
||
|
|
{
|
||
|
|
// <%%% START STRUCTS %%%>
|
||
|
|
UnregisterROClass(__classid(%STRUCT_NAME%));
|
||
|
|
// <%%% END STRUCTS %%%>
|
||
|
|
// <%%% START ARRAYS %%%>
|
||
|
|
UnregisterROClass(__classid(%ARRAY_NAME%));
|
||
|
|
// <%%% END ARRAYS %%%>
|
||
|
|
// <%%% START EXCEPTIONS %%%>
|
||
|
|
UnregisterExceptionClass(__classid(%EXCEPTION_NAME%));
|
||
|
|
// <%%% END EXCEPTIONS %%%>
|
||
|
|
// <%%% START SERVICES %%%>
|
||
|
|
UnregisterProxyClass(I%SERVICE_NAME%_IID);
|
||
|
|
// <%%% END SERVICES %%%>
|
||
|
|
// <%%% START EVENT_SINKS %%%>
|
||
|
|
UnregisterEventWriterClass(I%EVENT_SINK_NAME%_IID);
|
||
|
|
UnregisterEventInvokerClass(EID_%EVENT_SINK_NAME%);
|
||
|
|
// <%%% END EVENT_SINKS %%%>
|
||
|
|
}
|
||
|
|
|