unit googlepubsub; {$MODE objfpc} {$H+} interface uses sysutils, classes, googleservice, restbase, googlebase; type //Top-level schema types TSetIamPolicyRequest = Class; TPolicy = Class; TBinding = Class; TTestIamPermissionsRequest = Class; TTestIamPermissionsResponse = Class; TTopic = Class; TPublishRequest = Class; TPubsubMessage = Class; TPublishResponse = Class; TListTopicsResponse = Class; TListTopicSubscriptionsResponse = Class; TEmpty = Class; TSubscription = Class; TPushConfig = Class; TListSubscriptionsResponse = Class; TModifyAckDeadlineRequest = Class; TAcknowledgeRequest = Class; TPullRequest = Class; TPullResponse = Class; TReceivedMessage = Class; TModifyPushConfigRequest = Class; TSetIamPolicyRequestArray = Array of TSetIamPolicyRequest; TPolicyArray = Array of TPolicy; TBindingArray = Array of TBinding; TTestIamPermissionsRequestArray = Array of TTestIamPermissionsRequest; TTestIamPermissionsResponseArray = Array of TTestIamPermissionsResponse; TTopicArray = Array of TTopic; TPublishRequestArray = Array of TPublishRequest; TPubsubMessageArray = Array of TPubsubMessage; TPublishResponseArray = Array of TPublishResponse; TListTopicsResponseArray = Array of TListTopicsResponse; TListTopicSubscriptionsResponseArray = Array of TListTopicSubscriptionsResponse; TEmptyArray = Array of TEmpty; TSubscriptionArray = Array of TSubscription; TPushConfigArray = Array of TPushConfig; TListSubscriptionsResponseArray = Array of TListSubscriptionsResponse; TModifyAckDeadlineRequestArray = Array of TModifyAckDeadlineRequest; TAcknowledgeRequestArray = Array of TAcknowledgeRequest; TPullRequestArray = Array of TPullRequest; TPullResponseArray = Array of TPullResponse; TReceivedMessageArray = Array of TReceivedMessage; TModifyPushConfigRequestArray = Array of TModifyPushConfigRequest; //Anonymous types, using auto-generated names TPubsubMessageTypeattributes = Class; TPushConfigTypeattributes = Class; TPolicyTypebindingsArray = Array of TBinding; TPublishRequestTypemessagesArray = Array of TPubsubMessage; TListTopicsResponseTypetopicsArray = Array of TTopic; TListSubscriptionsResponseTypesubscriptionsArray = Array of TSubscription; TPullResponseTypereceivedMessagesArray = Array of TReceivedMessage; { -------------------------------------------------------------------- TSetIamPolicyRequest --------------------------------------------------------------------} TSetIamPolicyRequest = Class(TGoogleBaseObject) Private Fpolicy : TPolicy; Protected //Property setters Procedure Setpolicy(AIndex : Integer; const AValue : TPolicy); virtual; Public Published Property policy : TPolicy Index 0 Read Fpolicy Write Setpolicy; end; TSetIamPolicyRequestClass = Class of TSetIamPolicyRequest; { -------------------------------------------------------------------- TPolicy --------------------------------------------------------------------} TPolicy = Class(TGoogleBaseObject) Private Fversion : integer; Fbindings : TPolicyTypebindingsArray; Fetag : String; Protected //Property setters Procedure Setversion(AIndex : Integer; const AValue : integer); virtual; Procedure Setbindings(AIndex : Integer; const AValue : TPolicyTypebindingsArray); virtual; Procedure Setetag(AIndex : Integer; const AValue : String); virtual; //2.6.4. bug workaround {$IFDEF VER2_6} Procedure SetArrayLength(Const AName : String; ALength : Longint); override; {$ENDIF VER2_6} Public Published Property version : integer Index 0 Read Fversion Write Setversion; Property bindings : TPolicyTypebindingsArray Index 8 Read Fbindings Write Setbindings; Property etag : String Index 16 Read Fetag Write Setetag; end; TPolicyClass = Class of TPolicy; { -------------------------------------------------------------------- TBinding --------------------------------------------------------------------} TBinding = Class(TGoogleBaseObject) Private Frole : String; Fmembers : TStringArray; Protected //Property setters Procedure Setrole(AIndex : Integer; const AValue : String); virtual; Procedure Setmembers(AIndex : Integer; const AValue : TStringArray); virtual; //2.6.4. bug workaround {$IFDEF VER2_6} Procedure SetArrayLength(Const AName : String; ALength : Longint); override; {$ENDIF VER2_6} Public Published Property role : String Index 0 Read Frole Write Setrole; Property members : TStringArray Index 8 Read Fmembers Write Setmembers; end; TBindingClass = Class of TBinding; { -------------------------------------------------------------------- TTestIamPermissionsRequest --------------------------------------------------------------------} TTestIamPermissionsRequest = Class(TGoogleBaseObject) Private Fpermissions : TStringArray; Protected //Property setters Procedure Setpermissions(AIndex : Integer; const AValue : TStringArray); virtual; //2.6.4. bug workaround {$IFDEF VER2_6} Procedure SetArrayLength(Const AName : String; ALength : Longint); override; {$ENDIF VER2_6} Public Published Property permissions : TStringArray Index 0 Read Fpermissions Write Setpermissions; end; TTestIamPermissionsRequestClass = Class of TTestIamPermissionsRequest; { -------------------------------------------------------------------- TTestIamPermissionsResponse --------------------------------------------------------------------} TTestIamPermissionsResponse = Class(TGoogleBaseObject) Private Fpermissions : TStringArray; Protected //Property setters Procedure Setpermissions(AIndex : Integer; const AValue : TStringArray); virtual; //2.6.4. bug workaround {$IFDEF VER2_6} Procedure SetArrayLength(Const AName : String; ALength : Longint); override; {$ENDIF VER2_6} Public Published Property permissions : TStringArray Index 0 Read Fpermissions Write Setpermissions; end; TTestIamPermissionsResponseClass = Class of TTestIamPermissionsResponse; { -------------------------------------------------------------------- TTopic --------------------------------------------------------------------} TTopic = Class(TGoogleBaseObject) Private Fname : String; Protected //Property setters Procedure Setname(AIndex : Integer; const AValue : String); virtual; Public Published Property name : String Index 0 Read Fname Write Setname; end; TTopicClass = Class of TTopic; { -------------------------------------------------------------------- TPublishRequest --------------------------------------------------------------------} TPublishRequest = Class(TGoogleBaseObject) Private Fmessages : TPublishRequestTypemessagesArray; Protected //Property setters Procedure Setmessages(AIndex : Integer; const AValue : TPublishRequestTypemessagesArray); virtual; //2.6.4. bug workaround {$IFDEF VER2_6} Procedure SetArrayLength(Const AName : String; ALength : Longint); override; {$ENDIF VER2_6} Public Published Property messages : TPublishRequestTypemessagesArray Index 0 Read Fmessages Write Setmessages; end; TPublishRequestClass = Class of TPublishRequest; { -------------------------------------------------------------------- TPubsubMessageTypeattributes --------------------------------------------------------------------} TPubsubMessageTypeattributes = Class(TGoogleBaseObject) Private Protected //Property setters Public Class Function AllowAdditionalProperties : Boolean; override; Published end; TPubsubMessageTypeattributesClass = Class of TPubsubMessageTypeattributes; { -------------------------------------------------------------------- TPubsubMessage --------------------------------------------------------------------} TPubsubMessage = Class(TGoogleBaseObject) Private Fdata : String; Fattributes : TPubsubMessageTypeattributes; FmessageId : String; FpublishTime : String; Protected //Property setters Procedure Setdata(AIndex : Integer; const AValue : String); virtual; Procedure Setattributes(AIndex : Integer; const AValue : TPubsubMessageTypeattributes); virtual; Procedure SetmessageId(AIndex : Integer; const AValue : String); virtual; Procedure SetpublishTime(AIndex : Integer; const AValue : String); virtual; Public Published Property data : String Index 0 Read Fdata Write Setdata; Property attributes : TPubsubMessageTypeattributes Index 8 Read Fattributes Write Setattributes; Property messageId : String Index 16 Read FmessageId Write SetmessageId; Property publishTime : String Index 24 Read FpublishTime Write SetpublishTime; end; TPubsubMessageClass = Class of TPubsubMessage; { -------------------------------------------------------------------- TPublishResponse --------------------------------------------------------------------} TPublishResponse = Class(TGoogleBaseObject) Private FmessageIds : TStringArray; Protected //Property setters Procedure SetmessageIds(AIndex : Integer; const AValue : TStringArray); virtual; //2.6.4. bug workaround {$IFDEF VER2_6} Procedure SetArrayLength(Const AName : String; ALength : Longint); override; {$ENDIF VER2_6} Public Published Property messageIds : TStringArray Index 0 Read FmessageIds Write SetmessageIds; end; TPublishResponseClass = Class of TPublishResponse; { -------------------------------------------------------------------- TListTopicsResponse --------------------------------------------------------------------} TListTopicsResponse = Class(TGoogleBaseObject) Private Ftopics : TListTopicsResponseTypetopicsArray; FnextPageToken : String; Protected //Property setters Procedure Settopics(AIndex : Integer; const AValue : TListTopicsResponseTypetopicsArray); virtual; Procedure SetnextPageToken(AIndex : Integer; const AValue : String); virtual; //2.6.4. bug workaround {$IFDEF VER2_6} Procedure SetArrayLength(Const AName : String; ALength : Longint); override; {$ENDIF VER2_6} Public Published Property topics : TListTopicsResponseTypetopicsArray Index 0 Read Ftopics Write Settopics; Property nextPageToken : String Index 8 Read FnextPageToken Write SetnextPageToken; end; TListTopicsResponseClass = Class of TListTopicsResponse; { -------------------------------------------------------------------- TListTopicSubscriptionsResponse --------------------------------------------------------------------} TListTopicSubscriptionsResponse = Class(TGoogleBaseObject) Private Fsubscriptions : TStringArray; FnextPageToken : String; Protected //Property setters Procedure Setsubscriptions(AIndex : Integer; const AValue : TStringArray); virtual; Procedure SetnextPageToken(AIndex : Integer; const AValue : String); virtual; //2.6.4. bug workaround {$IFDEF VER2_6} Procedure SetArrayLength(Const AName : String; ALength : Longint); override; {$ENDIF VER2_6} Public Published Property subscriptions : TStringArray Index 0 Read Fsubscriptions Write Setsubscriptions; Property nextPageToken : String Index 8 Read FnextPageToken Write SetnextPageToken; end; TListTopicSubscriptionsResponseClass = Class of TListTopicSubscriptionsResponse; { -------------------------------------------------------------------- TEmpty --------------------------------------------------------------------} TEmpty = Class(TGoogleBaseObject) Private Protected //Property setters Public Published end; TEmptyClass = Class of TEmpty; { -------------------------------------------------------------------- TSubscription --------------------------------------------------------------------} TSubscription = Class(TGoogleBaseObject) Private Fname : String; Ftopic : String; FpushConfig : TPushConfig; FackDeadlineSeconds : integer; Protected //Property setters Procedure Setname(AIndex : Integer; const AValue : String); virtual; Procedure Settopic(AIndex : Integer; const AValue : String); virtual; Procedure SetpushConfig(AIndex : Integer; const AValue : TPushConfig); virtual; Procedure SetackDeadlineSeconds(AIndex : Integer; const AValue : integer); virtual; Public Published Property name : String Index 0 Read Fname Write Setname; Property topic : String Index 8 Read Ftopic Write Settopic; Property pushConfig : TPushConfig Index 16 Read FpushConfig Write SetpushConfig; Property ackDeadlineSeconds : integer Index 24 Read FackDeadlineSeconds Write SetackDeadlineSeconds; end; TSubscriptionClass = Class of TSubscription; { -------------------------------------------------------------------- TPushConfigTypeattributes --------------------------------------------------------------------} TPushConfigTypeattributes = Class(TGoogleBaseObject) Private Protected //Property setters Public Class Function AllowAdditionalProperties : Boolean; override; Published end; TPushConfigTypeattributesClass = Class of TPushConfigTypeattributes; { -------------------------------------------------------------------- TPushConfig --------------------------------------------------------------------} TPushConfig = Class(TGoogleBaseObject) Private FpushEndpoint : String; Fattributes : TPushConfigTypeattributes; Protected //Property setters Procedure SetpushEndpoint(AIndex : Integer; const AValue : String); virtual; Procedure Setattributes(AIndex : Integer; const AValue : TPushConfigTypeattributes); virtual; Public Published Property pushEndpoint : String Index 0 Read FpushEndpoint Write SetpushEndpoint; Property attributes : TPushConfigTypeattributes Index 8 Read Fattributes Write Setattributes; end; TPushConfigClass = Class of TPushConfig; { -------------------------------------------------------------------- TListSubscriptionsResponse --------------------------------------------------------------------} TListSubscriptionsResponse = Class(TGoogleBaseObject) Private Fsubscriptions : TListSubscriptionsResponseTypesubscriptionsArray; FnextPageToken : String; Protected //Property setters Procedure Setsubscriptions(AIndex : Integer; const AValue : TListSubscriptionsResponseTypesubscriptionsArray); virtual; Procedure SetnextPageToken(AIndex : Integer; const AValue : String); virtual; //2.6.4. bug workaround {$IFDEF VER2_6} Procedure SetArrayLength(Const AName : String; ALength : Longint); override; {$ENDIF VER2_6} Public Published Property subscriptions : TListSubscriptionsResponseTypesubscriptionsArray Index 0 Read Fsubscriptions Write Setsubscriptions; Property nextPageToken : String Index 8 Read FnextPageToken Write SetnextPageToken; end; TListSubscriptionsResponseClass = Class of TListSubscriptionsResponse; { -------------------------------------------------------------------- TModifyAckDeadlineRequest --------------------------------------------------------------------} TModifyAckDeadlineRequest = Class(TGoogleBaseObject) Private FackIds : TStringArray; FackDeadlineSeconds : integer; Protected //Property setters Procedure SetackIds(AIndex : Integer; const AValue : TStringArray); virtual; Procedure SetackDeadlineSeconds(AIndex : Integer; const AValue : integer); virtual; //2.6.4. bug workaround {$IFDEF VER2_6} Procedure SetArrayLength(Const AName : String; ALength : Longint); override; {$ENDIF VER2_6} Public Published Property ackIds : TStringArray Index 0 Read FackIds Write SetackIds; Property ackDeadlineSeconds : integer Index 8 Read FackDeadlineSeconds Write SetackDeadlineSeconds; end; TModifyAckDeadlineRequestClass = Class of TModifyAckDeadlineRequest; { -------------------------------------------------------------------- TAcknowledgeRequest --------------------------------------------------------------------} TAcknowledgeRequest = Class(TGoogleBaseObject) Private FackIds : TStringArray; Protected //Property setters Procedure SetackIds(AIndex : Integer; const AValue : TStringArray); virtual; //2.6.4. bug workaround {$IFDEF VER2_6} Procedure SetArrayLength(Const AName : String; ALength : Longint); override; {$ENDIF VER2_6} Public Published Property ackIds : TStringArray Index 0 Read FackIds Write SetackIds; end; TAcknowledgeRequestClass = Class of TAcknowledgeRequest; { -------------------------------------------------------------------- TPullRequest --------------------------------------------------------------------} TPullRequest = Class(TGoogleBaseObject) Private FreturnImmediately : boolean; FmaxMessages : integer; Protected //Property setters Procedure SetreturnImmediately(AIndex : Integer; const AValue : boolean); virtual; Procedure SetmaxMessages(AIndex : Integer; const AValue : integer); virtual; Public Published Property returnImmediately : boolean Index 0 Read FreturnImmediately Write SetreturnImmediately; Property maxMessages : integer Index 8 Read FmaxMessages Write SetmaxMessages; end; TPullRequestClass = Class of TPullRequest; { -------------------------------------------------------------------- TPullResponse --------------------------------------------------------------------} TPullResponse = Class(TGoogleBaseObject) Private FreceivedMessages : TPullResponseTypereceivedMessagesArray; Protected //Property setters Procedure SetreceivedMessages(AIndex : Integer; const AValue : TPullResponseTypereceivedMessagesArray); virtual; //2.6.4. bug workaround {$IFDEF VER2_6} Procedure SetArrayLength(Const AName : String; ALength : Longint); override; {$ENDIF VER2_6} Public Published Property receivedMessages : TPullResponseTypereceivedMessagesArray Index 0 Read FreceivedMessages Write SetreceivedMessages; end; TPullResponseClass = Class of TPullResponse; { -------------------------------------------------------------------- TReceivedMessage --------------------------------------------------------------------} TReceivedMessage = Class(TGoogleBaseObject) Private FackId : String; Fmessage : TPubsubMessage; Protected //Property setters Procedure SetackId(AIndex : Integer; const AValue : String); virtual; Procedure Setmessage(AIndex : Integer; const AValue : TPubsubMessage); virtual; Public Published Property ackId : String Index 0 Read FackId Write SetackId; Property message : TPubsubMessage Index 8 Read Fmessage Write Setmessage; end; TReceivedMessageClass = Class of TReceivedMessage; { -------------------------------------------------------------------- TModifyPushConfigRequest --------------------------------------------------------------------} TModifyPushConfigRequest = Class(TGoogleBaseObject) Private FpushConfig : TPushConfig; Protected //Property setters Procedure SetpushConfig(AIndex : Integer; const AValue : TPushConfig); virtual; Public Published Property pushConfig : TPushConfig Index 0 Read FpushConfig Write SetpushConfig; end; TModifyPushConfigRequestClass = Class of TModifyPushConfigRequest; { -------------------------------------------------------------------- TProjectsTopicsSubscriptionsResource --------------------------------------------------------------------} //Optional query Options for TProjectsTopicsSubscriptionsResource, method List TProjectsTopicsSubscriptionsListOptions = Record pageSize : integer; pageToken : String; end; TProjectsTopicsSubscriptionsResource = Class(TGoogleResource) Public Class Function ResourceName : String; override; Class Function DefaultAPI : TGoogleAPIClass; override; Function List(topic: string; AQuery : string = '') : TListTopicSubscriptionsResponse; Function List(topic: string; AQuery : TProjectsTopicsSubscriptionslistOptions) : TListTopicSubscriptionsResponse; end; { -------------------------------------------------------------------- TProjectsTopicsResource --------------------------------------------------------------------} //Optional query Options for TProjectsTopicsResource, method List TProjectsTopicsListOptions = Record pageSize : integer; pageToken : String; end; TProjectsTopicsResource = Class(TGoogleResource) Private FSubscriptionsInstance : TProjectsTopicsSubscriptionsResource; Function GetSubscriptionsInstance : TProjectsTopicsSubscriptionsResource;virtual; Public Class Function ResourceName : String; override; Class Function DefaultAPI : TGoogleAPIClass; override; Function SetIamPolicy(resource: string; aSetIamPolicyRequest : TSetIamPolicyRequest) : TPolicy; Function GetIamPolicy(resource: string) : TPolicy; Function TestIamPermissions(resource: string; aTestIamPermissionsRequest : TTestIamPermissionsRequest) : TTestIamPermissionsResponse; Function Create(_name: string; aTopic : TTopic) : TTopic;overload; Function Publish(topic: string; aPublishRequest : TPublishRequest) : TPublishResponse; Function Get(topic: string) : TTopic; Function List(project: string; AQuery : string = '') : TListTopicsResponse; Function List(project: string; AQuery : TProjectsTopicslistOptions) : TListTopicsResponse; Function Delete(topic: string) : TEmpty; Function CreateSubscriptionsResource(AOwner : TComponent) : TProjectsTopicsSubscriptionsResource;virtual;overload; Function CreateSubscriptionsResource : TProjectsTopicsSubscriptionsResource;virtual;overload; Property SubscriptionsResource : TProjectsTopicsSubscriptionsResource Read GetSubscriptionsInstance; end; { -------------------------------------------------------------------- TProjectsSubscriptionsResource --------------------------------------------------------------------} //Optional query Options for TProjectsSubscriptionsResource, method List TProjectsSubscriptionsListOptions = Record pageSize : integer; pageToken : String; end; TProjectsSubscriptionsResource = Class(TGoogleResource) Public Class Function ResourceName : String; override; Class Function DefaultAPI : TGoogleAPIClass; override; Function SetIamPolicy(resource: string; aSetIamPolicyRequest : TSetIamPolicyRequest) : TPolicy; Function GetIamPolicy(resource: string) : TPolicy; Function TestIamPermissions(resource: string; aTestIamPermissionsRequest : TTestIamPermissionsRequest) : TTestIamPermissionsResponse; Function Create(_name: string; aSubscription : TSubscription) : TSubscription;overload; Function Get(subscription: string) : TSubscription; Function List(project: string; AQuery : string = '') : TListSubscriptionsResponse; Function List(project: string; AQuery : TProjectsSubscriptionslistOptions) : TListSubscriptionsResponse; Function Delete(subscription: string) : TEmpty; Function ModifyAckDeadline(subscription: string; aModifyAckDeadlineRequest : TModifyAckDeadlineRequest) : TEmpty; Function Acknowledge(subscription: string; aAcknowledgeRequest : TAcknowledgeRequest) : TEmpty; Function Pull(subscription: string; aPullRequest : TPullRequest) : TPullResponse; Function ModifyPushConfig(subscription: string; aModifyPushConfigRequest : TModifyPushConfigRequest) : TEmpty; end; { -------------------------------------------------------------------- TProjectsResource --------------------------------------------------------------------} TProjectsResource = Class(TGoogleResource) Private FTopicsSubscriptionsInstance : TProjectsTopicsSubscriptionsResource; FTopicsInstance : TProjectsTopicsResource; FSubscriptionsInstance : TProjectsSubscriptionsResource; Function GetTopicsSubscriptionsInstance : TProjectsTopicsSubscriptionsResource;virtual; Function GetTopicsInstance : TProjectsTopicsResource;virtual; Function GetSubscriptionsInstance : TProjectsSubscriptionsResource;virtual; Public Class Function ResourceName : String; override; Class Function DefaultAPI : TGoogleAPIClass; override; Function CreateTopicsSubscriptionsResource(AOwner : TComponent) : TProjectsTopicsSubscriptionsResource;virtual;overload; Function CreateTopicsSubscriptionsResource : TProjectsTopicsSubscriptionsResource;virtual;overload; Function CreateTopicsResource(AOwner : TComponent) : TProjectsTopicsResource;virtual;overload; Function CreateTopicsResource : TProjectsTopicsResource;virtual;overload; Function CreateSubscriptionsResource(AOwner : TComponent) : TProjectsSubscriptionsResource;virtual;overload; Function CreateSubscriptionsResource : TProjectsSubscriptionsResource;virtual;overload; Property TopicsSubscriptionsResource : TProjectsTopicsSubscriptionsResource Read GetTopicsSubscriptionsInstance; Property TopicsResource : TProjectsTopicsResource Read GetTopicsInstance; Property SubscriptionsResource : TProjectsSubscriptionsResource Read GetSubscriptionsInstance; end; { -------------------------------------------------------------------- TPubsubAPI --------------------------------------------------------------------} TPubsubAPI = Class(TGoogleAPI) Private FProjectsTopicsSubscriptionsInstance : TProjectsTopicsSubscriptionsResource; FProjectsTopicsInstance : TProjectsTopicsResource; FProjectsSubscriptionsInstance : TProjectsSubscriptionsResource; FProjectsInstance : TProjectsResource; Function GetProjectsTopicsSubscriptionsInstance : TProjectsTopicsSubscriptionsResource;virtual; Function GetProjectsTopicsInstance : TProjectsTopicsResource;virtual; Function GetProjectsSubscriptionsInstance : TProjectsSubscriptionsResource;virtual; Function GetProjectsInstance : TProjectsResource;virtual; Public //Override class functions with API info Class Function APIName : String; override; Class Function APIVersion : String; override; Class Function APIRevision : String; override; Class Function APIID : String; override; Class Function APITitle : String; override; Class Function APIDescription : String; override; Class Function APIOwnerDomain : String; override; Class Function APIOwnerName : String; override; Class Function APIIcon16 : String; override; Class Function APIIcon32 : String; override; Class Function APIdocumentationLink : String; override; Class Function APIrootUrl : string; override; Class Function APIbasePath : string;override; Class Function APIbaseURL : String;override; Class Function APIProtocol : string;override; Class Function APIservicePath : string;override; Class Function APIbatchPath : String;override; Class Function APIAuthScopes : TScopeInfoArray;override; Class Function APINeedsAuth : Boolean;override; Class Procedure RegisterAPIResources; override; //Add create function for resources Function CreateProjectsTopicsSubscriptionsResource(AOwner : TComponent) : TProjectsTopicsSubscriptionsResource;virtual;overload; Function CreateProjectsTopicsSubscriptionsResource : TProjectsTopicsSubscriptionsResource;virtual;overload; Function CreateProjectsTopicsResource(AOwner : TComponent) : TProjectsTopicsResource;virtual;overload; Function CreateProjectsTopicsResource : TProjectsTopicsResource;virtual;overload; Function CreateProjectsSubscriptionsResource(AOwner : TComponent) : TProjectsSubscriptionsResource;virtual;overload; Function CreateProjectsSubscriptionsResource : TProjectsSubscriptionsResource;virtual;overload; Function CreateProjectsResource(AOwner : TComponent) : TProjectsResource;virtual;overload; Function CreateProjectsResource : TProjectsResource;virtual;overload; //Add default on-demand instances for resources Property ProjectsTopicsSubscriptionsResource : TProjectsTopicsSubscriptionsResource Read GetProjectsTopicsSubscriptionsInstance; Property ProjectsTopicsResource : TProjectsTopicsResource Read GetProjectsTopicsInstance; Property ProjectsSubscriptionsResource : TProjectsSubscriptionsResource Read GetProjectsSubscriptionsInstance; Property ProjectsResource : TProjectsResource Read GetProjectsInstance; end; implementation { -------------------------------------------------------------------- TSetIamPolicyRequest --------------------------------------------------------------------} Procedure TSetIamPolicyRequest.Setpolicy(AIndex : Integer; const AValue : TPolicy); begin If (Fpolicy=AValue) then exit; Fpolicy:=AValue; MarkPropertyChanged(AIndex); end; { -------------------------------------------------------------------- TPolicy --------------------------------------------------------------------} Procedure TPolicy.Setversion(AIndex : Integer; const AValue : integer); begin If (Fversion=AValue) then exit; Fversion:=AValue; MarkPropertyChanged(AIndex); end; Procedure TPolicy.Setbindings(AIndex : Integer; const AValue : TPolicyTypebindingsArray); begin If (Fbindings=AValue) then exit; Fbindings:=AValue; MarkPropertyChanged(AIndex); end; Procedure TPolicy.Setetag(AIndex : Integer; const AValue : String); begin If (Fetag=AValue) then exit; Fetag:=AValue; MarkPropertyChanged(AIndex); end; //2.6.4. bug workaround {$IFDEF VER2_6} Procedure TPolicy.SetArrayLength(Const AName : String; ALength : Longint); begin Case AName of 'bindings' : SetLength(Fbindings,ALength); else Inherited SetArrayLength(AName,ALength); end; end; {$ENDIF VER2_6} { -------------------------------------------------------------------- TBinding --------------------------------------------------------------------} Procedure TBinding.Setrole(AIndex : Integer; const AValue : String); begin If (Frole=AValue) then exit; Frole:=AValue; MarkPropertyChanged(AIndex); end; Procedure TBinding.Setmembers(AIndex : Integer; const AValue : TStringArray); begin If (Fmembers=AValue) then exit; Fmembers:=AValue; MarkPropertyChanged(AIndex); end; //2.6.4. bug workaround {$IFDEF VER2_6} Procedure TBinding.SetArrayLength(Const AName : String; ALength : Longint); begin Case AName of 'members' : SetLength(Fmembers,ALength); else Inherited SetArrayLength(AName,ALength); end; end; {$ENDIF VER2_6} { -------------------------------------------------------------------- TTestIamPermissionsRequest --------------------------------------------------------------------} Procedure TTestIamPermissionsRequest.Setpermissions(AIndex : Integer; const AValue : TStringArray); begin If (Fpermissions=AValue) then exit; Fpermissions:=AValue; MarkPropertyChanged(AIndex); end; //2.6.4. bug workaround {$IFDEF VER2_6} Procedure TTestIamPermissionsRequest.SetArrayLength(Const AName : String; ALength : Longint); begin Case AName of 'permissions' : SetLength(Fpermissions,ALength); else Inherited SetArrayLength(AName,ALength); end; end; {$ENDIF VER2_6} { -------------------------------------------------------------------- TTestIamPermissionsResponse --------------------------------------------------------------------} Procedure TTestIamPermissionsResponse.Setpermissions(AIndex : Integer; const AValue : TStringArray); begin If (Fpermissions=AValue) then exit; Fpermissions:=AValue; MarkPropertyChanged(AIndex); end; //2.6.4. bug workaround {$IFDEF VER2_6} Procedure TTestIamPermissionsResponse.SetArrayLength(Const AName : String; ALength : Longint); begin Case AName of 'permissions' : SetLength(Fpermissions,ALength); else Inherited SetArrayLength(AName,ALength); end; end; {$ENDIF VER2_6} { -------------------------------------------------------------------- TTopic --------------------------------------------------------------------} Procedure TTopic.Setname(AIndex : Integer; const AValue : String); begin If (Fname=AValue) then exit; Fname:=AValue; MarkPropertyChanged(AIndex); end; { -------------------------------------------------------------------- TPublishRequest --------------------------------------------------------------------} Procedure TPublishRequest.Setmessages(AIndex : Integer; const AValue : TPublishRequestTypemessagesArray); begin If (Fmessages=AValue) then exit; Fmessages:=AValue; MarkPropertyChanged(AIndex); end; //2.6.4. bug workaround {$IFDEF VER2_6} Procedure TPublishRequest.SetArrayLength(Const AName : String; ALength : Longint); begin Case AName of 'messages' : SetLength(Fmessages,ALength); else Inherited SetArrayLength(AName,ALength); end; end; {$ENDIF VER2_6} { -------------------------------------------------------------------- TPubsubMessageTypeattributes --------------------------------------------------------------------} Class Function TPubsubMessageTypeattributes.AllowAdditionalProperties : Boolean; begin Result:=True; end; { -------------------------------------------------------------------- TPubsubMessage --------------------------------------------------------------------} Procedure TPubsubMessage.Setdata(AIndex : Integer; const AValue : String); begin If (Fdata=AValue) then exit; Fdata:=AValue; MarkPropertyChanged(AIndex); end; Procedure TPubsubMessage.Setattributes(AIndex : Integer; const AValue : TPubsubMessageTypeattributes); begin If (Fattributes=AValue) then exit; Fattributes:=AValue; MarkPropertyChanged(AIndex); end; Procedure TPubsubMessage.SetmessageId(AIndex : Integer; const AValue : String); begin If (FmessageId=AValue) then exit; FmessageId:=AValue; MarkPropertyChanged(AIndex); end; Procedure TPubsubMessage.SetpublishTime(AIndex : Integer; const AValue : String); begin If (FpublishTime=AValue) then exit; FpublishTime:=AValue; MarkPropertyChanged(AIndex); end; { -------------------------------------------------------------------- TPublishResponse --------------------------------------------------------------------} Procedure TPublishResponse.SetmessageIds(AIndex : Integer; const AValue : TStringArray); begin If (FmessageIds=AValue) then exit; FmessageIds:=AValue; MarkPropertyChanged(AIndex); end; //2.6.4. bug workaround {$IFDEF VER2_6} Procedure TPublishResponse.SetArrayLength(Const AName : String; ALength : Longint); begin Case AName of 'messageids' : SetLength(FmessageIds,ALength); else Inherited SetArrayLength(AName,ALength); end; end; {$ENDIF VER2_6} { -------------------------------------------------------------------- TListTopicsResponse --------------------------------------------------------------------} Procedure TListTopicsResponse.Settopics(AIndex : Integer; const AValue : TListTopicsResponseTypetopicsArray); begin If (Ftopics=AValue) then exit; Ftopics:=AValue; MarkPropertyChanged(AIndex); end; Procedure TListTopicsResponse.SetnextPageToken(AIndex : Integer; const AValue : String); begin If (FnextPageToken=AValue) then exit; FnextPageToken:=AValue; MarkPropertyChanged(AIndex); end; //2.6.4. bug workaround {$IFDEF VER2_6} Procedure TListTopicsResponse.SetArrayLength(Const AName : String; ALength : Longint); begin Case AName of 'topics' : SetLength(Ftopics,ALength); else Inherited SetArrayLength(AName,ALength); end; end; {$ENDIF VER2_6} { -------------------------------------------------------------------- TListTopicSubscriptionsResponse --------------------------------------------------------------------} Procedure TListTopicSubscriptionsResponse.Setsubscriptions(AIndex : Integer; const AValue : TStringArray); begin If (Fsubscriptions=AValue) then exit; Fsubscriptions:=AValue; MarkPropertyChanged(AIndex); end; Procedure TListTopicSubscriptionsResponse.SetnextPageToken(AIndex : Integer; const AValue : String); begin If (FnextPageToken=AValue) then exit; FnextPageToken:=AValue; MarkPropertyChanged(AIndex); end; //2.6.4. bug workaround {$IFDEF VER2_6} Procedure TListTopicSubscriptionsResponse.SetArrayLength(Const AName : String; ALength : Longint); begin Case AName of 'subscriptions' : SetLength(Fsubscriptions,ALength); else Inherited SetArrayLength(AName,ALength); end; end; {$ENDIF VER2_6} { -------------------------------------------------------------------- TEmpty --------------------------------------------------------------------} { -------------------------------------------------------------------- TSubscription --------------------------------------------------------------------} Procedure TSubscription.Setname(AIndex : Integer; const AValue : String); begin If (Fname=AValue) then exit; Fname:=AValue; MarkPropertyChanged(AIndex); end; Procedure TSubscription.Settopic(AIndex : Integer; const AValue : String); begin If (Ftopic=AValue) then exit; Ftopic:=AValue; MarkPropertyChanged(AIndex); end; Procedure TSubscription.SetpushConfig(AIndex : Integer; const AValue : TPushConfig); begin If (FpushConfig=AValue) then exit; FpushConfig:=AValue; MarkPropertyChanged(AIndex); end; Procedure TSubscription.SetackDeadlineSeconds(AIndex : Integer; const AValue : integer); begin If (FackDeadlineSeconds=AValue) then exit; FackDeadlineSeconds:=AValue; MarkPropertyChanged(AIndex); end; { -------------------------------------------------------------------- TPushConfigTypeattributes --------------------------------------------------------------------} Class Function TPushConfigTypeattributes.AllowAdditionalProperties : Boolean; begin Result:=True; end; { -------------------------------------------------------------------- TPushConfig --------------------------------------------------------------------} Procedure TPushConfig.SetpushEndpoint(AIndex : Integer; const AValue : String); begin If (FpushEndpoint=AValue) then exit; FpushEndpoint:=AValue; MarkPropertyChanged(AIndex); end; Procedure TPushConfig.Setattributes(AIndex : Integer; const AValue : TPushConfigTypeattributes); begin If (Fattributes=AValue) then exit; Fattributes:=AValue; MarkPropertyChanged(AIndex); end; { -------------------------------------------------------------------- TListSubscriptionsResponse --------------------------------------------------------------------} Procedure TListSubscriptionsResponse.Setsubscriptions(AIndex : Integer; const AValue : TListSubscriptionsResponseTypesubscriptionsArray); begin If (Fsubscriptions=AValue) then exit; Fsubscriptions:=AValue; MarkPropertyChanged(AIndex); end; Procedure TListSubscriptionsResponse.SetnextPageToken(AIndex : Integer; const AValue : String); begin If (FnextPageToken=AValue) then exit; FnextPageToken:=AValue; MarkPropertyChanged(AIndex); end; //2.6.4. bug workaround {$IFDEF VER2_6} Procedure TListSubscriptionsResponse.SetArrayLength(Const AName : String; ALength : Longint); begin Case AName of 'subscriptions' : SetLength(Fsubscriptions,ALength); else Inherited SetArrayLength(AName,ALength); end; end; {$ENDIF VER2_6} { -------------------------------------------------------------------- TModifyAckDeadlineRequest --------------------------------------------------------------------} Procedure TModifyAckDeadlineRequest.SetackIds(AIndex : Integer; const AValue : TStringArray); begin If (FackIds=AValue) then exit; FackIds:=AValue; MarkPropertyChanged(AIndex); end; Procedure TModifyAckDeadlineRequest.SetackDeadlineSeconds(AIndex : Integer; const AValue : integer); begin If (FackDeadlineSeconds=AValue) then exit; FackDeadlineSeconds:=AValue; MarkPropertyChanged(AIndex); end; //2.6.4. bug workaround {$IFDEF VER2_6} Procedure TModifyAckDeadlineRequest.SetArrayLength(Const AName : String; ALength : Longint); begin Case AName of 'ackids' : SetLength(FackIds,ALength); else Inherited SetArrayLength(AName,ALength); end; end; {$ENDIF VER2_6} { -------------------------------------------------------------------- TAcknowledgeRequest --------------------------------------------------------------------} Procedure TAcknowledgeRequest.SetackIds(AIndex : Integer; const AValue : TStringArray); begin If (FackIds=AValue) then exit; FackIds:=AValue; MarkPropertyChanged(AIndex); end; //2.6.4. bug workaround {$IFDEF VER2_6} Procedure TAcknowledgeRequest.SetArrayLength(Const AName : String; ALength : Longint); begin Case AName of 'ackids' : SetLength(FackIds,ALength); else Inherited SetArrayLength(AName,ALength); end; end; {$ENDIF VER2_6} { -------------------------------------------------------------------- TPullRequest --------------------------------------------------------------------} Procedure TPullRequest.SetreturnImmediately(AIndex : Integer; const AValue : boolean); begin If (FreturnImmediately=AValue) then exit; FreturnImmediately:=AValue; MarkPropertyChanged(AIndex); end; Procedure TPullRequest.SetmaxMessages(AIndex : Integer; const AValue : integer); begin If (FmaxMessages=AValue) then exit; FmaxMessages:=AValue; MarkPropertyChanged(AIndex); end; { -------------------------------------------------------------------- TPullResponse --------------------------------------------------------------------} Procedure TPullResponse.SetreceivedMessages(AIndex : Integer; const AValue : TPullResponseTypereceivedMessagesArray); begin If (FreceivedMessages=AValue) then exit; FreceivedMessages:=AValue; MarkPropertyChanged(AIndex); end; //2.6.4. bug workaround {$IFDEF VER2_6} Procedure TPullResponse.SetArrayLength(Const AName : String; ALength : Longint); begin Case AName of 'receivedmessages' : SetLength(FreceivedMessages,ALength); else Inherited SetArrayLength(AName,ALength); end; end; {$ENDIF VER2_6} { -------------------------------------------------------------------- TReceivedMessage --------------------------------------------------------------------} Procedure TReceivedMessage.SetackId(AIndex : Integer; const AValue : String); begin If (FackId=AValue) then exit; FackId:=AValue; MarkPropertyChanged(AIndex); end; Procedure TReceivedMessage.Setmessage(AIndex : Integer; const AValue : TPubsubMessage); begin If (Fmessage=AValue) then exit; Fmessage:=AValue; MarkPropertyChanged(AIndex); end; { -------------------------------------------------------------------- TModifyPushConfigRequest --------------------------------------------------------------------} Procedure TModifyPushConfigRequest.SetpushConfig(AIndex : Integer; const AValue : TPushConfig); begin If (FpushConfig=AValue) then exit; FpushConfig:=AValue; MarkPropertyChanged(AIndex); end; { -------------------------------------------------------------------- TProjectsTopicsSubscriptionsResource --------------------------------------------------------------------} Class Function TProjectsTopicsSubscriptionsResource.ResourceName : String; begin Result:='subscriptions'; end; Class Function TProjectsTopicsSubscriptionsResource.DefaultAPI : TGoogleAPIClass; begin Result:=TpubsubAPI; end; Function TProjectsTopicsSubscriptionsResource.List(topic: string; AQuery : string = '') : TListTopicSubscriptionsResponse; Const _HTTPMethod = 'GET'; _Path = 'v1/{+topic}/subscriptions'; _Methodid = 'pubsub.projects.topics.subscriptions.list'; Var _P : String; begin _P:=SubstitutePath(_Path,['topic',topic]); Result:=ServiceCall(_HTTPMethod,_P,AQuery,Nil,TListTopicSubscriptionsResponse) as TListTopicSubscriptionsResponse; end; Function TProjectsTopicsSubscriptionsResource.List(topic: string; AQuery : TProjectsTopicsSubscriptionslistOptions) : TListTopicSubscriptionsResponse; Var _Q : String; begin _Q:=''; AddToQuery(_Q,'pageSize',AQuery.pageSize); AddToQuery(_Q,'pageToken',AQuery.pageToken); Result:=List(topic,_Q); end; { -------------------------------------------------------------------- TProjectsTopicsResource --------------------------------------------------------------------} Class Function TProjectsTopicsResource.ResourceName : String; begin Result:='topics'; end; Class Function TProjectsTopicsResource.DefaultAPI : TGoogleAPIClass; begin Result:=TpubsubAPI; end; Function TProjectsTopicsResource.SetIamPolicy(resource: string; aSetIamPolicyRequest : TSetIamPolicyRequest) : TPolicy; Const _HTTPMethod = 'POST'; _Path = 'v1/{+resource}:setIamPolicy'; _Methodid = 'pubsub.projects.topics.setIamPolicy'; Var _P : String; begin _P:=SubstitutePath(_Path,['resource',resource]); Result:=ServiceCall(_HTTPMethod,_P,'',aSetIamPolicyRequest,TPolicy) as TPolicy; end; Function TProjectsTopicsResource.GetIamPolicy(resource: string) : TPolicy; Const _HTTPMethod = 'GET'; _Path = 'v1/{+resource}:getIamPolicy'; _Methodid = 'pubsub.projects.topics.getIamPolicy'; Var _P : String; begin _P:=SubstitutePath(_Path,['resource',resource]); Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TPolicy) as TPolicy; end; Function TProjectsTopicsResource.TestIamPermissions(resource: string; aTestIamPermissionsRequest : TTestIamPermissionsRequest) : TTestIamPermissionsResponse; Const _HTTPMethod = 'POST'; _Path = 'v1/{+resource}:testIamPermissions'; _Methodid = 'pubsub.projects.topics.testIamPermissions'; Var _P : String; begin _P:=SubstitutePath(_Path,['resource',resource]); Result:=ServiceCall(_HTTPMethod,_P,'',aTestIamPermissionsRequest,TTestIamPermissionsResponse) as TTestIamPermissionsResponse; end; Function TProjectsTopicsResource.Create(_name: string; aTopic : TTopic) : TTopic; Const _HTTPMethod = 'PUT'; _Path = 'v1/{+name}'; _Methodid = 'pubsub.projects.topics.create'; Var _P : String; begin _P:=SubstitutePath(_Path,['name',_name]); Result:=ServiceCall(_HTTPMethod,_P,'',aTopic,TTopic) as TTopic; end; Function TProjectsTopicsResource.Publish(topic: string; aPublishRequest : TPublishRequest) : TPublishResponse; Const _HTTPMethod = 'POST'; _Path = 'v1/{+topic}:publish'; _Methodid = 'pubsub.projects.topics.publish'; Var _P : String; begin _P:=SubstitutePath(_Path,['topic',topic]); Result:=ServiceCall(_HTTPMethod,_P,'',aPublishRequest,TPublishResponse) as TPublishResponse; end; Function TProjectsTopicsResource.Get(topic: string) : TTopic; Const _HTTPMethod = 'GET'; _Path = 'v1/{+topic}'; _Methodid = 'pubsub.projects.topics.get'; Var _P : String; begin _P:=SubstitutePath(_Path,['topic',topic]); Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TTopic) as TTopic; end; Function TProjectsTopicsResource.List(project: string; AQuery : string = '') : TListTopicsResponse; Const _HTTPMethod = 'GET'; _Path = 'v1/{+project}/topics'; _Methodid = 'pubsub.projects.topics.list'; Var _P : String; begin _P:=SubstitutePath(_Path,['project',project]); Result:=ServiceCall(_HTTPMethod,_P,AQuery,Nil,TListTopicsResponse) as TListTopicsResponse; end; Function TProjectsTopicsResource.List(project: string; AQuery : TProjectsTopicslistOptions) : TListTopicsResponse; Var _Q : String; begin _Q:=''; AddToQuery(_Q,'pageSize',AQuery.pageSize); AddToQuery(_Q,'pageToken',AQuery.pageToken); Result:=List(project,_Q); end; Function TProjectsTopicsResource.Delete(topic: string) : TEmpty; Const _HTTPMethod = 'DELETE'; _Path = 'v1/{+topic}'; _Methodid = 'pubsub.projects.topics.delete'; Var _P : String; begin _P:=SubstitutePath(_Path,['topic',topic]); Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TEmpty) as TEmpty; end; Function TProjectsTopicsResource.GetSubscriptionsInstance : TProjectsTopicsSubscriptionsResource; begin if (FSubscriptionsInstance=Nil) then FSubscriptionsInstance:=CreateSubscriptionsResource; Result:=FSubscriptionsInstance; end; Function TProjectsTopicsResource.CreateSubscriptionsResource : TProjectsTopicsSubscriptionsResource; begin Result:=CreateSubscriptionsResource(Self); end; Function TProjectsTopicsResource.CreateSubscriptionsResource(AOwner : TComponent) : TProjectsTopicsSubscriptionsResource; begin Result:=TProjectsTopicsSubscriptionsResource.Create(AOwner); Result.API:=Self.API; end; { -------------------------------------------------------------------- TProjectsSubscriptionsResource --------------------------------------------------------------------} Class Function TProjectsSubscriptionsResource.ResourceName : String; begin Result:='subscriptions'; end; Class Function TProjectsSubscriptionsResource.DefaultAPI : TGoogleAPIClass; begin Result:=TpubsubAPI; end; Function TProjectsSubscriptionsResource.SetIamPolicy(resource: string; aSetIamPolicyRequest : TSetIamPolicyRequest) : TPolicy; Const _HTTPMethod = 'POST'; _Path = 'v1/{+resource}:setIamPolicy'; _Methodid = 'pubsub.projects.subscriptions.setIamPolicy'; Var _P : String; begin _P:=SubstitutePath(_Path,['resource',resource]); Result:=ServiceCall(_HTTPMethod,_P,'',aSetIamPolicyRequest,TPolicy) as TPolicy; end; Function TProjectsSubscriptionsResource.GetIamPolicy(resource: string) : TPolicy; Const _HTTPMethod = 'GET'; _Path = 'v1/{+resource}:getIamPolicy'; _Methodid = 'pubsub.projects.subscriptions.getIamPolicy'; Var _P : String; begin _P:=SubstitutePath(_Path,['resource',resource]); Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TPolicy) as TPolicy; end; Function TProjectsSubscriptionsResource.TestIamPermissions(resource: string; aTestIamPermissionsRequest : TTestIamPermissionsRequest) : TTestIamPermissionsResponse; Const _HTTPMethod = 'POST'; _Path = 'v1/{+resource}:testIamPermissions'; _Methodid = 'pubsub.projects.subscriptions.testIamPermissions'; Var _P : String; begin _P:=SubstitutePath(_Path,['resource',resource]); Result:=ServiceCall(_HTTPMethod,_P,'',aTestIamPermissionsRequest,TTestIamPermissionsResponse) as TTestIamPermissionsResponse; end; Function TProjectsSubscriptionsResource.Create(_name: string; aSubscription : TSubscription) : TSubscription; Const _HTTPMethod = 'PUT'; _Path = 'v1/{+name}'; _Methodid = 'pubsub.projects.subscriptions.create'; Var _P : String; begin _P:=SubstitutePath(_Path,['name',_name]); Result:=ServiceCall(_HTTPMethod,_P,'',aSubscription,TSubscription) as TSubscription; end; Function TProjectsSubscriptionsResource.Get(subscription: string) : TSubscription; Const _HTTPMethod = 'GET'; _Path = 'v1/{+subscription}'; _Methodid = 'pubsub.projects.subscriptions.get'; Var _P : String; begin _P:=SubstitutePath(_Path,['subscription',subscription]); Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TSubscription) as TSubscription; end; Function TProjectsSubscriptionsResource.List(project: string; AQuery : string = '') : TListSubscriptionsResponse; Const _HTTPMethod = 'GET'; _Path = 'v1/{+project}/subscriptions'; _Methodid = 'pubsub.projects.subscriptions.list'; Var _P : String; begin _P:=SubstitutePath(_Path,['project',project]); Result:=ServiceCall(_HTTPMethod,_P,AQuery,Nil,TListSubscriptionsResponse) as TListSubscriptionsResponse; end; Function TProjectsSubscriptionsResource.List(project: string; AQuery : TProjectsSubscriptionslistOptions) : TListSubscriptionsResponse; Var _Q : String; begin _Q:=''; AddToQuery(_Q,'pageSize',AQuery.pageSize); AddToQuery(_Q,'pageToken',AQuery.pageToken); Result:=List(project,_Q); end; Function TProjectsSubscriptionsResource.Delete(subscription: string) : TEmpty; Const _HTTPMethod = 'DELETE'; _Path = 'v1/{+subscription}'; _Methodid = 'pubsub.projects.subscriptions.delete'; Var _P : String; begin _P:=SubstitutePath(_Path,['subscription',subscription]); Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TEmpty) as TEmpty; end; Function TProjectsSubscriptionsResource.ModifyAckDeadline(subscription: string; aModifyAckDeadlineRequest : TModifyAckDeadlineRequest) : TEmpty; Const _HTTPMethod = 'POST'; _Path = 'v1/{+subscription}:modifyAckDeadline'; _Methodid = 'pubsub.projects.subscriptions.modifyAckDeadline'; Var _P : String; begin _P:=SubstitutePath(_Path,['subscription',subscription]); Result:=ServiceCall(_HTTPMethod,_P,'',aModifyAckDeadlineRequest,TEmpty) as TEmpty; end; Function TProjectsSubscriptionsResource.Acknowledge(subscription: string; aAcknowledgeRequest : TAcknowledgeRequest) : TEmpty; Const _HTTPMethod = 'POST'; _Path = 'v1/{+subscription}:acknowledge'; _Methodid = 'pubsub.projects.subscriptions.acknowledge'; Var _P : String; begin _P:=SubstitutePath(_Path,['subscription',subscription]); Result:=ServiceCall(_HTTPMethod,_P,'',aAcknowledgeRequest,TEmpty) as TEmpty; end; Function TProjectsSubscriptionsResource.Pull(subscription: string; aPullRequest : TPullRequest) : TPullResponse; Const _HTTPMethod = 'POST'; _Path = 'v1/{+subscription}:pull'; _Methodid = 'pubsub.projects.subscriptions.pull'; Var _P : String; begin _P:=SubstitutePath(_Path,['subscription',subscription]); Result:=ServiceCall(_HTTPMethod,_P,'',aPullRequest,TPullResponse) as TPullResponse; end; Function TProjectsSubscriptionsResource.ModifyPushConfig(subscription: string; aModifyPushConfigRequest : TModifyPushConfigRequest) : TEmpty; Const _HTTPMethod = 'POST'; _Path = 'v1/{+subscription}:modifyPushConfig'; _Methodid = 'pubsub.projects.subscriptions.modifyPushConfig'; Var _P : String; begin _P:=SubstitutePath(_Path,['subscription',subscription]); Result:=ServiceCall(_HTTPMethod,_P,'',aModifyPushConfigRequest,TEmpty) as TEmpty; end; { -------------------------------------------------------------------- TProjectsResource --------------------------------------------------------------------} Class Function TProjectsResource.ResourceName : String; begin Result:='projects'; end; Class Function TProjectsResource.DefaultAPI : TGoogleAPIClass; begin Result:=TpubsubAPI; end; Function TProjectsResource.GetTopicsSubscriptionsInstance : TProjectsTopicsSubscriptionsResource; begin if (FTopicsSubscriptionsInstance=Nil) then FTopicsSubscriptionsInstance:=CreateTopicsSubscriptionsResource; Result:=FTopicsSubscriptionsInstance; end; Function TProjectsResource.CreateTopicsSubscriptionsResource : TProjectsTopicsSubscriptionsResource; begin Result:=CreateTopicsSubscriptionsResource(Self); end; Function TProjectsResource.CreateTopicsSubscriptionsResource(AOwner : TComponent) : TProjectsTopicsSubscriptionsResource; begin Result:=TProjectsTopicsSubscriptionsResource.Create(AOwner); Result.API:=Self.API; end; Function TProjectsResource.GetTopicsInstance : TProjectsTopicsResource; begin if (FTopicsInstance=Nil) then FTopicsInstance:=CreateTopicsResource; Result:=FTopicsInstance; end; Function TProjectsResource.CreateTopicsResource : TProjectsTopicsResource; begin Result:=CreateTopicsResource(Self); end; Function TProjectsResource.CreateTopicsResource(AOwner : TComponent) : TProjectsTopicsResource; begin Result:=TProjectsTopicsResource.Create(AOwner); Result.API:=Self.API; end; Function TProjectsResource.GetSubscriptionsInstance : TProjectsSubscriptionsResource; begin if (FSubscriptionsInstance=Nil) then FSubscriptionsInstance:=CreateSubscriptionsResource; Result:=FSubscriptionsInstance; end; Function TProjectsResource.CreateSubscriptionsResource : TProjectsSubscriptionsResource; begin Result:=CreateSubscriptionsResource(Self); end; Function TProjectsResource.CreateSubscriptionsResource(AOwner : TComponent) : TProjectsSubscriptionsResource; begin Result:=TProjectsSubscriptionsResource.Create(AOwner); Result.API:=Self.API; end; { -------------------------------------------------------------------- TPubsubAPI --------------------------------------------------------------------} Class Function TPubsubAPI.APIName : String; begin Result:='pubsub'; end; Class Function TPubsubAPI.APIVersion : String; begin Result:='v1'; end; Class Function TPubsubAPI.APIRevision : String; begin Result:='20160317'; end; Class Function TPubsubAPI.APIID : String; begin Result:='pubsub:v1'; end; Class Function TPubsubAPI.APITitle : String; begin Result:='Google Cloud Pub/Sub API'; end; Class Function TPubsubAPI.APIDescription : String; begin Result:='Provides reliable, many-to-many, asynchronous messaging between applications.'; end; Class Function TPubsubAPI.APIOwnerDomain : String; begin Result:='google.com'; end; Class Function TPubsubAPI.APIOwnerName : String; begin Result:='Google'; end; Class Function TPubsubAPI.APIIcon16 : String; begin Result:='http://www.google.com/images/icons/product/search-16.gif'; end; Class Function TPubsubAPI.APIIcon32 : String; begin Result:='http://www.google.com/images/icons/product/search-32.gif'; end; Class Function TPubsubAPI.APIdocumentationLink : String; begin Result:='https://cloud.google.com/pubsub/docs'; end; Class Function TPubsubAPI.APIrootUrl : string; begin Result:='https://pubsub.googleapis.com/'; end; Class Function TPubsubAPI.APIbasePath : string; begin Result:=''; end; Class Function TPubsubAPI.APIbaseURL : String; begin Result:='https://pubsub.googleapis.com/'; end; Class Function TPubsubAPI.APIProtocol : string; begin Result:='rest'; end; Class Function TPubsubAPI.APIservicePath : string; begin Result:=''; end; Class Function TPubsubAPI.APIbatchPath : String; begin Result:='batch'; end; Class Function TPubsubAPI.APIAuthScopes : TScopeInfoArray; begin SetLength(Result,2); Result[0].Name:='https://www.googleapis.com/auth/cloud-platform'; Result[0].Description:='View and manage your data across Google Cloud Platform services'; Result[1].Name:='https://www.googleapis.com/auth/pubsub'; Result[1].Description:='View and manage Pub/Sub topics and subscriptions'; end; Class Function TPubsubAPI.APINeedsAuth : Boolean; begin Result:=True; end; Class Procedure TPubsubAPI.RegisterAPIResources; begin TSetIamPolicyRequest.RegisterObject; TPolicy.RegisterObject; TBinding.RegisterObject; TTestIamPermissionsRequest.RegisterObject; TTestIamPermissionsResponse.RegisterObject; TTopic.RegisterObject; TPublishRequest.RegisterObject; TPubsubMessageTypeattributes.RegisterObject; TPubsubMessage.RegisterObject; TPublishResponse.RegisterObject; TListTopicsResponse.RegisterObject; TListTopicSubscriptionsResponse.RegisterObject; TEmpty.RegisterObject; TSubscription.RegisterObject; TPushConfigTypeattributes.RegisterObject; TPushConfig.RegisterObject; TListSubscriptionsResponse.RegisterObject; TModifyAckDeadlineRequest.RegisterObject; TAcknowledgeRequest.RegisterObject; TPullRequest.RegisterObject; TPullResponse.RegisterObject; TReceivedMessage.RegisterObject; TModifyPushConfigRequest.RegisterObject; end; Function TPubsubAPI.GetProjectsTopicsSubscriptionsInstance : TProjectsTopicsSubscriptionsResource; begin if (FProjectsTopicsSubscriptionsInstance=Nil) then FProjectsTopicsSubscriptionsInstance:=CreateProjectsTopicsSubscriptionsResource; Result:=FProjectsTopicsSubscriptionsInstance; end; Function TPubsubAPI.CreateProjectsTopicsSubscriptionsResource : TProjectsTopicsSubscriptionsResource; begin Result:=CreateProjectsTopicsSubscriptionsResource(Self); end; Function TPubsubAPI.CreateProjectsTopicsSubscriptionsResource(AOwner : TComponent) : TProjectsTopicsSubscriptionsResource; begin Result:=TProjectsTopicsSubscriptionsResource.Create(AOwner); Result.API:=Self.API; end; Function TPubsubAPI.GetProjectsTopicsInstance : TProjectsTopicsResource; begin if (FProjectsTopicsInstance=Nil) then FProjectsTopicsInstance:=CreateProjectsTopicsResource; Result:=FProjectsTopicsInstance; end; Function TPubsubAPI.CreateProjectsTopicsResource : TProjectsTopicsResource; begin Result:=CreateProjectsTopicsResource(Self); end; Function TPubsubAPI.CreateProjectsTopicsResource(AOwner : TComponent) : TProjectsTopicsResource; begin Result:=TProjectsTopicsResource.Create(AOwner); Result.API:=Self.API; end; Function TPubsubAPI.GetProjectsSubscriptionsInstance : TProjectsSubscriptionsResource; begin if (FProjectsSubscriptionsInstance=Nil) then FProjectsSubscriptionsInstance:=CreateProjectsSubscriptionsResource; Result:=FProjectsSubscriptionsInstance; end; Function TPubsubAPI.CreateProjectsSubscriptionsResource : TProjectsSubscriptionsResource; begin Result:=CreateProjectsSubscriptionsResource(Self); end; Function TPubsubAPI.CreateProjectsSubscriptionsResource(AOwner : TComponent) : TProjectsSubscriptionsResource; begin Result:=TProjectsSubscriptionsResource.Create(AOwner); Result.API:=Self.API; end; Function TPubsubAPI.GetProjectsInstance : TProjectsResource; begin if (FProjectsInstance=Nil) then FProjectsInstance:=CreateProjectsResource; Result:=FProjectsInstance; end; Function TPubsubAPI.CreateProjectsResource : TProjectsResource; begin Result:=CreateProjectsResource(Self); end; Function TPubsubAPI.CreateProjectsResource(AOwner : TComponent) : TProjectsResource; begin Result:=TProjectsResource.Create(AOwner); Result.API:=Self.API; end; initialization TPubsubAPI.RegisterAPI; end.