/// SOA interface methods definition to circumvent FPC missing RTTI // - generated at 2016-06-14 13:49:41 unit TestSQL3FPCInterfaces; { WARNING: This unit has been generated by a mORMot 1.18.2718 server. Any manual modification of this file may be lost after regeneration. Synopse mORMot framework. Copyright (C) 2020 Arnaud Bouchez Synopse Informatique - https://synopse.info This unit is released under a MPL/GPL/LGPL tri-license, and therefore may be freely included in any application. This unit is intended to work on older FPC compilers, which lack of RTTI for interfaces - see http://bugs.freepascal.org/view.php?id=26774 USAGE: Add this TestSQL3FPCInterfaces unit to your uses clause, so that the following interfaces would be defined as expected by mORMot under FPC: - IMonitored - IMonitoredDaemon - IAdministratedDaemon - IAdministratedDaemonAsProxy - IDomAuthQuery - IDomAuthCommand - IDomUserEmailValidation - IDomUserEmailer - IDomUserTemplate - IDomUserQuery - IDomUserCommand - ISMTPServerConnection - ICalculator - IComplexCalculator - IComplexNumber - ITestSession - ITestUser - ITestGroup - ITestPerThread - ISmsSender - IUserRepository - IBidirService - IBidirCallback - IServiceRecordVersion - IServiceRecordVersionCallback - IDDDThreadsQuery - IDDDThreadsCommand } interface {$I Synopse.inc} // needed for setting HASINTERFACERTTI and proper FPC modes uses SysUtils, Classes, SynCommons, SynLog, mORMot, mORMotDDD, dddDomAuthInterfaces, dddDomUserInterfaces, dddDomUserTypes, dddDomUserCQRS, dddInfraEmailer, SynSelfTests; implementation uses SynTable; {$ifndef HASINTERFACERTTI} // circumvent old FPC bug of missing RTTI { TInterfaceFactoryDefinition } type /// define and manage missing interface RTTI for the following interfaces: // - IMonitored // - IMonitoredDaemon // - IAdministratedDaemon // - IAdministratedDaemonAsProxy // - IDomAuthQuery // - IDomAuthCommand // - IDomUserEmailValidation // - IDomUserEmailer // - IDomUserTemplate // - IDomUserQuery // - IDomUserCommand // - ISMTPServerConnection // - ICalculator // - IComplexCalculator // - IComplexNumber // - ITestSession // - ITestUser // - ITestGroup // - ITestPerThread // - ISmsSender // - IUserRepository // - IBidirService // - IBidirCallback // - IServiceRecordVersion // - IServiceRecordVersionCallback // - IDDDThreadsQuery // - IDDDThreadsCommand TInterfaceFactoryDefinition = class(TInterfaceFactoryGenerated) protected procedure AddMethodsFromTypeInfo(aInterface: PTypeInfo); override; end; procedure TInterfaceFactoryDefinition.AddMethodsFromTypeInfo(aInterface: PTypeInfo); begin if aInterface=TypeInfo(IMonitored) then begin AddMethod('RetrieveState',[ ord(smdout),'Status',TypeInfo(Variant), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); exit; end; if aInterface=TypeInfo(IMonitoredDaemon) then begin AddMethod('RetrieveState',[ ord(smdout),'Status',TypeInfo(Variant), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('Start',[ ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('Stop',[ ord(smdout),'Information',TypeInfo(Variant), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); exit; end; if aInterface=TypeInfo(IAdministratedDaemon) then begin AddMethod('RetrieveState',[ ord(smdout),'Status',TypeInfo(Variant), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('Start',[ ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('Stop',[ ord(smdout),'Information',TypeInfo(Variant), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('Halt',[ ord(smdout),'Information',TypeInfo(Variant), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('DatabaseList',[ ord(smdresult),'Result',TypeInfo(TRawUTF8DynArray)]); AddMethod('DatabaseTables',[ ord(smdconst),'DatabaseName',TypeInfo(RawUTF8), ord(smdresult),'Result',TypeInfo(TRawUTF8DynArray)]); AddMethod('DatabaseExecute',[ ord(smdconst),'DatabaseName',TypeInfo(RawUTF8), ord(smdconst),'SQL',TypeInfo(RawUTF8), ord(smdresult),'Result',TypeInfo(TServiceCustomAnswer)]); AddMethod('SubscribeLog',[ ord(smdconst),'Level',TypeInfo(TSynLogInfos), ord(smdconst),'Callback',TypeInfo(ISynLogCallback), ord(smdconst),'ReceiveExistingKB',TypeInfo(LongWord)]); AddMethod('CallbackReleased',[ ord(smdconst),'callback',TypeInfo(IInvokable), ord(smdconst),'interfaceName',TypeInfo(RawUTF8)]); exit; end; if aInterface=TypeInfo(IAdministratedDaemonAsProxy) then begin AddMethod('RetrieveState',[ ord(smdout),'Status',TypeInfo(Variant), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('Start',[ ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('Stop',[ ord(smdout),'Information',TypeInfo(Variant), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('Halt',[ ord(smdout),'Information',TypeInfo(Variant), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('DatabaseList',[ ord(smdresult),'Result',TypeInfo(TRawUTF8DynArray)]); AddMethod('DatabaseTables',[ ord(smdconst),'DatabaseName',TypeInfo(RawUTF8), ord(smdresult),'Result',TypeInfo(TRawUTF8DynArray)]); AddMethod('DatabaseExecute',[ ord(smdconst),'DatabaseName',TypeInfo(RawUTF8), ord(smdconst),'SQL',TypeInfo(RawUTF8), ord(smdresult),'Result',TypeInfo(TServiceCustomAnswer)]); AddMethod('SubscribeLog',[ ord(smdconst),'Level',TypeInfo(TSynLogInfos), ord(smdconst),'Callback',TypeInfo(ISynLogCallback), ord(smdconst),'ReceiveExistingKB',TypeInfo(LongWord)]); AddMethod('CallbackReleased',[ ord(smdconst),'callback',TypeInfo(IInvokable), ord(smdconst),'interfaceName',TypeInfo(RawUTF8)]); AddMethod('StartProxy',[ ord(smdconst),'aDDDRestClientSettings',TypeInfo(Variant), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); exit; end; if aInterface=TypeInfo(IDomAuthQuery) then begin AddMethod('GetLastError',[ ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('GetLastErrorInfo',[ ord(smdresult),'Result',TypeInfo(Variant)]); AddMethod('ChallengeSelectFirst',[ ord(smdconst),'aLogonName',TypeInfo(RawUTF8), ord(smdresult),'Result',TypeInfo(RawUTF8)]); AddMethod('ChallengeSelectFinal',[ ord(smdconst),'aChallengedPassword',TypeInfo(RawUTF8), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('Logged',[ ord(smdresult),'Result',TypeInfo(Boolean)]); AddMethod('LogonName',[ ord(smdresult),'Result',TypeInfo(RawUTF8)]); AddMethod('SelectByName',[ ord(smdconst),'aLogonName',TypeInfo(RawUTF8), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('Get',[ ord(smdout),'aAggregate',TypeInfo(dddDomAuthInterfaces.TAuthInfo), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); exit; end; if aInterface=TypeInfo(IDomAuthCommand) then begin AddMethod('GetLastError',[ ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('GetLastErrorInfo',[ ord(smdresult),'Result',TypeInfo(Variant)]); AddMethod('ChallengeSelectFirst',[ ord(smdconst),'aLogonName',TypeInfo(RawUTF8), ord(smdresult),'Result',TypeInfo(RawUTF8)]); AddMethod('ChallengeSelectFinal',[ ord(smdconst),'aChallengedPassword',TypeInfo(RawUTF8), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('Logged',[ ord(smdresult),'Result',TypeInfo(Boolean)]); AddMethod('LogonName',[ ord(smdresult),'Result',TypeInfo(RawUTF8)]); AddMethod('SelectByName',[ ord(smdconst),'aLogonName',TypeInfo(RawUTF8), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('Get',[ ord(smdout),'aAggregate',TypeInfo(dddDomAuthInterfaces.TAuthInfo), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('Add',[ ord(smdconst),'aLogonName',TypeInfo(RawUTF8), ord(smdconst),'aHashedPassword',TypeInfo(RawUTF8), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('UpdatePassword',[ ord(smdconst),'aHashedPassword',TypeInfo(RawUTF8), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('Delete',[ ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('Commit',[ ord(smdresult),'Result',TypeInfo(TCQRSResult)]); exit; end; if aInterface=TypeInfo(IDomUserEmailValidation) then begin AddMethod('CheckRecipient',[ ord(smdconst),'aEmail',TypeInfo(RawUTF8), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('CheckRecipients',[ ord(smdconst),'aEmails',TypeInfo(TRawUTF8DynArray), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('ComputeURIForReply',[ ord(smdconst),'aLogonName',TypeInfo(RawUTF8), ord(smdconst),'aEmail',TypeInfo(RawUTF8), ord(smdresult),'Result',TypeInfo(RawUTF8)]); AddMethod('StartEmailValidation',[ ord(smdconst),'aTemplate',TypeInfo(dddDomUserTypes.TDomUserEmailTemplate), ord(smdconst),'aLogonName',TypeInfo(RawUTF8), ord(smdconst),'aEmail',TypeInfo(RawUTF8), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('IsEmailValidated',[ ord(smdconst),'aLogonName',TypeInfo(RawUTF8), ord(smdconst),'aEmail',TypeInfo(RawUTF8), ord(smdresult),'Result',TypeInfo(Boolean)]); exit; end; if aInterface=TypeInfo(IDomUserEmailer) then begin AddMethod('SendEmail',[ ord(smdconst),'aRecipients',TypeInfo(TRawUTF8DynArray), ord(smdconst),'aSender',TypeInfo(RawUTF8), ord(smdconst),'aSubject',TypeInfo(RawUTF8), ord(smdconst),'aHeaders',TypeInfo(RawUTF8), ord(smdconst),'aBody',TypeInfo(RawUTF8), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); exit; end; if aInterface=TypeInfo(IDomUserTemplate) then begin AddMethod('ComputeMessage',[ ord(smdconst),'aContext',TypeInfo(Variant), ord(smdconst),'aTemplateName',TypeInfo(RawUTF8), ord(smdresult),'Result',TypeInfo(RawUTF8)]); exit; end; if aInterface=TypeInfo(IDomUserQuery) then begin AddMethod('GetLastError',[ ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('GetLastErrorInfo',[ ord(smdresult),'Result',TypeInfo(Variant)]); AddMethod('SelectByLogonName',[ ord(smdconst),'aLogonName',TypeInfo(RawUTF8), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('SelectByEmailValidation',[ ord(smdconst),'aValidationState',TypeInfo(TDomUserEmailValidation), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('SelectByLastName',[ ord(smdconst),'aName',TypeInfo(TLastName), ord(smdconst),'aStartWith',TypeInfo(Boolean), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('SelectAll',[ ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('Get',[ ord(smdout),'aAggregate',TypeInfo(dddDomUserTypes.TUser), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('GetAll',[ ord(smdout),'aAggregates',TypeInfo(TUserObjArray), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('GetNext',[ ord(smdout),'aAggregate',TypeInfo(dddDomUserTypes.TUser), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('GetCount',[ ord(smdresult),'Result',TypeInfo(LongInt)]); AddMethod('HowManyValidatedEmail',[ ord(smdresult),'Result',TypeInfo(LongInt)]); exit; end; if aInterface=TypeInfo(IDomUserCommand) then begin AddMethod('GetLastError',[ ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('GetLastErrorInfo',[ ord(smdresult),'Result',TypeInfo(Variant)]); AddMethod('SelectByLogonName',[ ord(smdconst),'aLogonName',TypeInfo(RawUTF8), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('SelectByEmailValidation',[ ord(smdconst),'aValidationState',TypeInfo(TDomUserEmailValidation), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('SelectByLastName',[ ord(smdconst),'aName',TypeInfo(TLastName), ord(smdconst),'aStartWith',TypeInfo(Boolean), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('SelectAll',[ ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('Get',[ ord(smdout),'aAggregate',TypeInfo(dddDomUserTypes.TUser), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('GetAll',[ ord(smdout),'aAggregates',TypeInfo(TUserObjArray), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('GetNext',[ ord(smdout),'aAggregate',TypeInfo(dddDomUserTypes.TUser), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('GetCount',[ ord(smdresult),'Result',TypeInfo(LongInt)]); AddMethod('HowManyValidatedEmail',[ ord(smdresult),'Result',TypeInfo(LongInt)]); AddMethod('Add',[ ord(smdconst),'aAggregate',TypeInfo(dddDomUserTypes.TUser), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('Update',[ ord(smdconst),'aUpdatedAggregate',TypeInfo(dddDomUserTypes.TUser), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('Delete',[ ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('DeleteAll',[ ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('Commit',[ ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('Rollback',[ ord(smdresult),'Result',TypeInfo(TCQRSResult)]); exit; end; if aInterface=TypeInfo(ISMTPServerConnection) then begin AddMethod('SendEmail',[ ord(smdconst),'aRecipient',TypeInfo(TRawUTF8DynArray), ord(smdconst),'aSender',TypeInfo(RawUTF8), ord(smdconst),'aSubject',TypeInfo(RawUTF8), ord(smdconst),'aHeader',TypeInfo(RawUTF8), ord(smdconst),'aBody',TypeInfo(RawUTF8), ord(smdresult),'Result',TypeInfo(RawUTF8)]); exit; end; if aInterface=TypeInfo(ICalculator) then begin AddMethod('Add',[ ord(smdconst),'n1',TypeInfo(LongInt), ord(smdconst),'n2',TypeInfo(LongInt), ord(smdresult),'Result',TypeInfo(LongInt)]); AddMethod('Multiply',[ ord(smdconst),'n1',TypeInfo(Int64), ord(smdconst),'n2',TypeInfo(Int64), ord(smdresult),'Result',TypeInfo(Int64)]); AddMethod('Subtract',[ ord(smdconst),'n1',TypeInfo(Double), ord(smdconst),'n2',TypeInfo(Double), ord(smdresult),'Result',TypeInfo(Double)]); AddMethod('ToText',[ ord(smdconst),'Value',TypeInfo(Currency), ord(smdvar),'Result',TypeInfo(RawUTF8)]); AddMethod('ToTextFunc',[ ord(smdconst),'Value',TypeInfo(Double), ord(smdresult),'Result',TypeInfo(AnsiString)]); AddMethod('Swap',[ ord(smdvar),'n1',TypeInfo(Double), ord(smdvar),'n2',TypeInfo(Double)]); AddMethod('StackIntMultiply',[ ord(smdconst),'n1',TypeInfo(LongInt), ord(smdconst),'n2',TypeInfo(LongInt), ord(smdconst),'n3',TypeInfo(LongInt), ord(smdconst),'n4',TypeInfo(LongInt), ord(smdconst),'n5',TypeInfo(LongInt), ord(smdconst),'n6',TypeInfo(LongInt), ord(smdconst),'n7',TypeInfo(LongInt), ord(smdconst),'n8',TypeInfo(LongInt), ord(smdconst),'n9',TypeInfo(LongInt), ord(smdconst),'n10',TypeInfo(LongInt), ord(smdresult),'Result',TypeInfo(Int64)]); AddMethod('StackFloatMultiply',[ ord(smdconst),'n1',TypeInfo(Double), ord(smdconst),'n2',TypeInfo(Double), ord(smdconst),'n3',TypeInfo(Double), ord(smdconst),'n4',TypeInfo(Double), ord(smdconst),'n5',TypeInfo(Double), ord(smdconst),'n6',TypeInfo(Double), ord(smdconst),'n7',TypeInfo(Double), ord(smdconst),'n8',TypeInfo(Double), ord(smdconst),'n9',TypeInfo(Double), ord(smdconst),'n10',TypeInfo(Double), ord(smdresult),'Result',TypeInfo(Int64)]); AddMethod('SpecialCall',[ ord(smdconst),'Txt',TypeInfo(RawUTF8), ord(smdvar),'Int',TypeInfo(LongInt), ord(smdvar),'Card',TypeInfo(LongWord), ord(smdconst),'field',TypeInfo(TSynTableFieldTypes), ord(smdconst),'fields',TypeInfo(TSynTableFieldTypes), ord(smdvar),'options',TypeInfo(TSynTableFieldOptions), ord(smdresult),'Result',TypeInfo(TSynTableFieldTypes)]); AddMethod('ComplexCall',[ ord(smdconst),'Ints',TypeInfo(TIntegerDynArray), ord(smdconst),'Strs1',TypeInfo(TRawUTF8DynArray), ord(smdvar),'Str2',TypeInfo(TWideStringDynArray), ord(smdconst),'Rec1',TypeInfo(TVirtualTableModuleProperties), ord(smdvar),'Rec2',TypeInfo(TSQLRestCacheEntryValue), ord(smdconst),'Float1',TypeInfo(Double), ord(smdvar),'Float2',TypeInfo(Double), ord(smdresult),'Result',TypeInfo(TSQLRestCacheEntryValue)]); exit; end; if aInterface=TypeInfo(IComplexCalculator) then begin AddMethod('Add',[ ord(smdconst),'n1',TypeInfo(LongInt), ord(smdconst),'n2',TypeInfo(LongInt), ord(smdresult),'Result',TypeInfo(LongInt)]); AddMethod('Multiply',[ ord(smdconst),'n1',TypeInfo(Int64), ord(smdconst),'n2',TypeInfo(Int64), ord(smdresult),'Result',TypeInfo(Int64)]); AddMethod('Subtract',[ ord(smdconst),'n1',TypeInfo(Double), ord(smdconst),'n2',TypeInfo(Double), ord(smdresult),'Result',TypeInfo(Double)]); AddMethod('ToText',[ ord(smdconst),'Value',TypeInfo(Currency), ord(smdvar),'Result',TypeInfo(RawUTF8)]); AddMethod('ToTextFunc',[ ord(smdconst),'Value',TypeInfo(Double), ord(smdresult),'Result',TypeInfo(AnsiString)]); AddMethod('Swap',[ ord(smdvar),'n1',TypeInfo(Double), ord(smdvar),'n2',TypeInfo(Double)]); AddMethod('StackIntMultiply',[ ord(smdconst),'n1',TypeInfo(LongInt), ord(smdconst),'n2',TypeInfo(LongInt), ord(smdconst),'n3',TypeInfo(LongInt), ord(smdconst),'n4',TypeInfo(LongInt), ord(smdconst),'n5',TypeInfo(LongInt), ord(smdconst),'n6',TypeInfo(LongInt), ord(smdconst),'n7',TypeInfo(LongInt), ord(smdconst),'n8',TypeInfo(LongInt), ord(smdconst),'n9',TypeInfo(LongInt), ord(smdconst),'n10',TypeInfo(LongInt), ord(smdresult),'Result',TypeInfo(Int64)]); AddMethod('StackFloatMultiply',[ ord(smdconst),'n1',TypeInfo(Double), ord(smdconst),'n2',TypeInfo(Double), ord(smdconst),'n3',TypeInfo(Double), ord(smdconst),'n4',TypeInfo(Double), ord(smdconst),'n5',TypeInfo(Double), ord(smdconst),'n6',TypeInfo(Double), ord(smdconst),'n7',TypeInfo(Double), ord(smdconst),'n8',TypeInfo(Double), ord(smdconst),'n9',TypeInfo(Double), ord(smdconst),'n10',TypeInfo(Double), ord(smdresult),'Result',TypeInfo(Int64)]); AddMethod('SpecialCall',[ ord(smdconst),'Txt',TypeInfo(RawUTF8), ord(smdvar),'Int',TypeInfo(LongInt), ord(smdvar),'Card',TypeInfo(LongWord), ord(smdconst),'field',TypeInfo(TSynTableFieldTypes), ord(smdconst),'fields',TypeInfo(TSynTableFieldTypes), ord(smdvar),'options',TypeInfo(TSynTableFieldOptions), ord(smdresult),'Result',TypeInfo(TSynTableFieldTypes)]); AddMethod('ComplexCall',[ ord(smdconst),'Ints',TypeInfo(TIntegerDynArray), ord(smdconst),'Strs1',TypeInfo(TRawUTF8DynArray), ord(smdvar),'Str2',TypeInfo(TWideStringDynArray), ord(smdconst),'Rec1',TypeInfo(TVirtualTableModuleProperties), ord(smdvar),'Rec2',TypeInfo(TSQLRestCacheEntryValue), ord(smdconst),'Float1',TypeInfo(Double), ord(smdvar),'Float2',TypeInfo(Double), ord(smdresult),'Result',TypeInfo(TSQLRestCacheEntryValue)]); AddMethod('Substract',[ ord(smdconst),'n1',TypeInfo(SynSelfTests.TComplexNumber), ord(smdconst),'n2',TypeInfo(SynSelfTests.TComplexNumber), ord(smdout),'Result',TypeInfo(SynSelfTests.TComplexNumber)]); AddMethod('IsNull',[ ord(smdconst),'n',TypeInfo(SynSelfTests.TComplexNumber), ord(smdresult),'Result',TypeInfo(Boolean)]); AddMethod('TestBlob',[ ord(smdconst),'n',TypeInfo(SynSelfTests.TComplexNumber), ord(smdresult),'Result',TypeInfo(TServiceCustomAnswer)]); AddMethod('TestVariants',[ ord(smdconst),'Text',TypeInfo(RawUTF8), ord(smdconst),'V1',TypeInfo(Variant), ord(smdvar),'V2',TypeInfo(Variant), ord(smdresult),'Result',TypeInfo(Variant)]); AddMethod('Collections',[ ord(smdconst),'Item',TypeInfo(SynSelfTests.TCollTest), ord(smdvar),'List',TypeInfo(SynSelfTests.TCollTestsI), ord(smdout),'Copy',TypeInfo(SynSelfTests.TCollTestsI)]); AddMethod('GetCurrentThreadID',[ ord(smdresult),'Result',TypeInfo(LongWord)]); AddMethod('GetCustomer',[ ord(smdconst),'CustomerId',TypeInfo(LongInt), ord(smdout),'CustomerData',TypeInfo(TCustomerData), ord(smdresult),'Result',TypeInfo(Boolean)]); AddMethod('FillPeople',[ ord(smdvar),'People',TypeInfo(SynSelfTests.TSQLRecordPeople)]); AddMethod('EchoRecord',[ ord(smdconst),'Nav',TypeInfo(TConsultaNav), ord(smdresult),'Result',TypeInfo(TConsultaNav)]); exit; end; if aInterface=TypeInfo(IComplexNumber) then begin AddMethod('Assign',[ ord(smdconst),'aReal',TypeInfo(Double), ord(smdconst),'aImaginary',TypeInfo(Double)]); AddMethod('GetImaginary',[ ord(smdresult),'Result',TypeInfo(Double)]); AddMethod('GetReal',[ ord(smdresult),'Result',TypeInfo(Double)]); AddMethod('SetImaginary',[ ord(smdconst),'Value',TypeInfo(Double)]); AddMethod('SetReal',[ ord(smdconst),'Value',TypeInfo(Double)]); AddMethod('Add',[ ord(smdconst),'aReal',TypeInfo(Double), ord(smdconst),'aImaginary',TypeInfo(Double)]); exit; end; if aInterface=TypeInfo(ITestSession) then begin AddMethod('GetContextSessionID',[ ord(smdresult),'Result',TypeInfo(LongInt)]); AddMethod('GetContextSessionUser',[ ord(smdresult),'Result',TypeInfo(LongInt)]); AddMethod('GetContextSessionGroup',[ ord(smdresult),'Result',TypeInfo(LongInt)]); exit; end; if aInterface=TypeInfo(ITestUser) then begin AddMethod('GetContextSessionID',[ ord(smdresult),'Result',TypeInfo(LongInt)]); AddMethod('GetContextSessionUser',[ ord(smdresult),'Result',TypeInfo(LongInt)]); AddMethod('GetContextSessionGroup',[ ord(smdresult),'Result',TypeInfo(LongInt)]); exit; end; if aInterface=TypeInfo(ITestGroup) then begin AddMethod('GetContextSessionID',[ ord(smdresult),'Result',TypeInfo(LongInt)]); AddMethod('GetContextSessionUser',[ ord(smdresult),'Result',TypeInfo(LongInt)]); AddMethod('GetContextSessionGroup',[ ord(smdresult),'Result',TypeInfo(LongInt)]); exit; end; if aInterface=TypeInfo(ITestPerThread) then begin AddMethod('GetContextServiceInstanceID',[ ord(smdresult),'Result',TypeInfo(LongWord)]); AddMethod('GetThreadIDAtCreation',[ ord(smdresult),'Result',TypeInfo(LongWord)]); AddMethod('GetCurrentThreadID',[ ord(smdresult),'Result',TypeInfo(LongWord)]); AddMethod('GetCurrentRunningThreadID',[ ord(smdresult),'Result',TypeInfo(LongWord)]); exit; end; if aInterface=TypeInfo(ISmsSender) then begin AddMethod('Send',[ ord(smdconst),'Text',TypeInfo(RawUTF8), ord(smdconst),'Number',TypeInfo(RawUTF8), ord(smdresult),'Result',TypeInfo(Boolean)]); exit; end; if aInterface=TypeInfo(IUserRepository) then begin AddMethod('GetUserByName',[ ord(smdconst),'Name',TypeInfo(RawUTF8), ord(smdresult),'Result',TypeInfo(TUser)]); AddMethod('Save',[ ord(smdconst),'User',TypeInfo(TUser)]); exit; end; if aInterface=TypeInfo(IBidirService) then begin AddMethod('TestRest',[ ord(smdconst),'a',TypeInfo(LongInt), ord(smdconst),'b',TypeInfo(LongInt), ord(smdout),'c',TypeInfo(RawUTF8), ord(smdresult),'Result',TypeInfo(Variant)]); AddMethod('TestRestCustom',[ ord(smdconst),'a',TypeInfo(LongInt), ord(smdresult),'Result',TypeInfo(TServiceCustomAnswer)]); AddMethod('TestCallback',[ ord(smdconst),'d',TypeInfo(LongInt), ord(smdconst),'callback',TypeInfo(IBidirCallback), ord(smdresult),'Result',TypeInfo(Boolean)]); AddMethod('LaunchCallback',[ ord(smdconst),'a',TypeInfo(LongInt)]); AddMethod('RemoveCallback',[ ]); exit; end; if aInterface=TypeInfo(IBidirCallback) then begin AddMethod('AsynchEvent',[ ord(smdconst),'a',TypeInfo(LongInt)]); AddMethod('Value',[ ord(smdresult),'Result',TypeInfo(LongInt)]); exit; end; if aInterface=TypeInfo(IServiceRecordVersion) then begin AddMethod('Subscribe',[ ord(smdconst),'SQLTableName',TypeInfo(RawUTF8), ord(smdconst),'revision',TypeInfo(TRecordVersion), ord(smdconst),'callback',TypeInfo(IServiceRecordVersionCallback), ord(smdresult),'Result',TypeInfo(Boolean)]); exit; end; if aInterface=TypeInfo(IServiceRecordVersionCallback) then begin AddMethod('Added',[ ord(smdconst),'NewContent',TypeInfo(RawJSON)]); AddMethod('Updated',[ ord(smdconst),'ModifiedContent',TypeInfo(RawJSON)]); AddMethod('Deleted',[ ord(smdconst),'ID',TypeInfo(TID), ord(smdconst),'Revision',TypeInfo(TRecordVersion)]); AddMethod('CurrentFrame',[ ord(smdconst),'isLast',TypeInfo(Boolean)]); exit; end; if aInterface=TypeInfo(IDDDThreadsQuery) then begin AddMethod('GetLastError',[ ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('GetLastErrorInfo',[ ord(smdresult),'Result',TypeInfo(Variant)]); AddMethod('SelectByDescription',[ ord(smdconst),'aDescription',TypeInfo(RawUTF8), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('SelectAll',[ ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('Get',[ ord(smdout),'aAggregate',TypeInfo(SynSelfTests.TDDDTest), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('GetAll',[ ord(smdout),'aAggregates',TypeInfo(TDDDTestObjArray), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('GetNext',[ ord(smdout),'aAggregate',TypeInfo(SynSelfTests.TDDDTest), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('GetCount',[ ord(smdresult),'Result',TypeInfo(LongInt)]); exit; end; if aInterface=TypeInfo(IDDDThreadsCommand) then begin AddMethod('GetLastError',[ ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('GetLastErrorInfo',[ ord(smdresult),'Result',TypeInfo(Variant)]); AddMethod('SelectByDescription',[ ord(smdconst),'aDescription',TypeInfo(RawUTF8), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('SelectAll',[ ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('Get',[ ord(smdout),'aAggregate',TypeInfo(SynSelfTests.TDDDTest), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('GetAll',[ ord(smdout),'aAggregates',TypeInfo(TDDDTestObjArray), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('GetNext',[ ord(smdout),'aAggregate',TypeInfo(SynSelfTests.TDDDTest), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('GetCount',[ ord(smdresult),'Result',TypeInfo(LongInt)]); AddMethod('Add',[ ord(smdconst),'aAggregate',TypeInfo(SynSelfTests.TDDDTest), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('Update',[ ord(smdconst),'aUpdatedAggregate',TypeInfo(SynSelfTests.TDDDTest), ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('Delete',[ ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('DeleteAll',[ ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('Commit',[ ord(smdresult),'Result',TypeInfo(TCQRSResult)]); AddMethod('Rollback',[ ord(smdresult),'Result',TypeInfo(TCQRSResult)]); exit; end; end; initialization TInterfaceFactoryDefinition.RegisterInterface(TypeInfo(IMonitored)); TInterfaceFactoryDefinition.RegisterInterface(TypeInfo(IMonitoredDaemon)); TInterfaceFactoryDefinition.RegisterInterface(TypeInfo(IAdministratedDaemon)); TInterfaceFactoryDefinition.RegisterInterface(TypeInfo(IAdministratedDaemonAsProxy)); TInterfaceFactoryDefinition.RegisterInterface(TypeInfo(IDomAuthQuery)); TInterfaceFactoryDefinition.RegisterInterface(TypeInfo(IDomAuthCommand)); TInterfaceFactoryDefinition.RegisterInterface(TypeInfo(IDomUserEmailValidation)); TInterfaceFactoryDefinition.RegisterInterface(TypeInfo(IDomUserEmailer)); TInterfaceFactoryDefinition.RegisterInterface(TypeInfo(IDomUserTemplate)); TInterfaceFactoryDefinition.RegisterInterface(TypeInfo(IDomUserQuery)); TInterfaceFactoryDefinition.RegisterInterface(TypeInfo(IDomUserCommand)); TInterfaceFactoryDefinition.RegisterInterface(TypeInfo(ISMTPServerConnection)); TInterfaceFactoryDefinition.RegisterInterface(TypeInfo(ICalculator)); TInterfaceFactoryDefinition.RegisterInterface(TypeInfo(IComplexCalculator)); TInterfaceFactoryDefinition.RegisterInterface(TypeInfo(IComplexNumber)); TInterfaceFactoryDefinition.RegisterInterface(TypeInfo(ITestSession)); TInterfaceFactoryDefinition.RegisterInterface(TypeInfo(ITestUser)); TInterfaceFactoryDefinition.RegisterInterface(TypeInfo(ITestGroup)); TInterfaceFactoryDefinition.RegisterInterface(TypeInfo(ITestPerThread)); TInterfaceFactoryDefinition.RegisterInterface(TypeInfo(ISmsSender)); TInterfaceFactoryDefinition.RegisterInterface(TypeInfo(IUserRepository)); TInterfaceFactoryDefinition.RegisterInterface(TypeInfo(IBidirService)); TInterfaceFactoryDefinition.RegisterInterface(TypeInfo(IBidirCallback)); TInterfaceFactoryDefinition.RegisterInterface(TypeInfo(IServiceRecordVersion)); TInterfaceFactoryDefinition.RegisterInterface(TypeInfo(IServiceRecordVersionCallback)); TInterfaceFactoryDefinition.RegisterInterface(TypeInfo(IDDDThreadsQuery)); TInterfaceFactoryDefinition.RegisterInterface(TypeInfo(IDDDThreadsCommand)); {$endif HASINTERFACERTTI} end.