Componentes.Terceros.RemObj.../internal/5.0.23.613/1/RemObjects SDK for Delphi/Source/CodeGen2/Templates/template.intf.cpp

1285 lines
59 KiB
C++
Raw Normal View History

// %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 %%%>
}