googleadmin.pp 54 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968
  1. {$IFNDEF FPC_DOTTEDUNITS}
  2. unit googleadmin;
  3. {$ENDIF FPC_DOTTEDUNITS}
  4. {$MODE objfpc}
  5. {$H+}
  6. interface
  7. {$IFDEF FPC_DOTTEDUNITS}
  8. uses System.SysUtils, System.Classes, GoogleApi.Service, FpWeb.Rest.Base, GoogleApi.Base;
  9. {$ELSE FPC_DOTTEDUNITS}
  10. uses sysutils, classes, googleservice, restbase, googlebase;
  11. {$ENDIF FPC_DOTTEDUNITS}
  12. type
  13. //Top-level schema types
  14. TActivities = Class;
  15. TActivity = Class;
  16. TChannel = Class;
  17. TUsageReport = Class;
  18. TUsageReports = Class;
  19. TActivitiesArray = Array of TActivities;
  20. TActivityArray = Array of TActivity;
  21. TChannelArray = Array of TChannel;
  22. TUsageReportArray = Array of TUsageReport;
  23. TUsageReportsArray = Array of TUsageReports;
  24. //Anonymous types, using auto-generated names
  25. TActivityTypeactor = Class;
  26. TActivityTypeeventsItemTypeparametersItem = Class;
  27. TActivityTypeeventsItem = Class;
  28. TActivityTypeid = Class;
  29. TChannelTypeparams = Class;
  30. TUsageReportTypeentity = Class;
  31. TUsageReportTypeparametersItemTypemsgValueItem = Class;
  32. TUsageReportTypeparametersItem = Class;
  33. TUsageReportsTypewarningsItemTypedataItem = Class;
  34. TUsageReportsTypewarningsItem = Class;
  35. TActivitiesTypeitemsArray = Array of TActivity;
  36. TActivityTypeeventsItemTypeparametersArray = Array of TActivityTypeeventsItemTypeparametersItem;
  37. TActivityTypeeventsArray = Array of TActivityTypeeventsItem;
  38. TUsageReportTypeparametersItemTypemsgValueArray = Array of TUsageReportTypeparametersItemTypemsgValueItem;
  39. TUsageReportTypeparametersArray = Array of TUsageReportTypeparametersItem;
  40. TUsageReportsTypeusageReportsArray = Array of TUsageReport;
  41. TUsageReportsTypewarningsItemTypedataArray = Array of TUsageReportsTypewarningsItemTypedataItem;
  42. TUsageReportsTypewarningsArray = Array of TUsageReportsTypewarningsItem;
  43. { --------------------------------------------------------------------
  44. TActivities
  45. --------------------------------------------------------------------}
  46. TActivities = Class(TGoogleBaseObject)
  47. Private
  48. Fetag : String;
  49. Fitems : TActivitiesTypeitemsArray;
  50. Fkind : String;
  51. FnextPageToken : String;
  52. Protected
  53. //Property setters
  54. Procedure Setetag(AIndex : Integer; const AValue : String); virtual;
  55. Procedure Setitems(AIndex : Integer; const AValue : TActivitiesTypeitemsArray); virtual;
  56. Procedure Setkind(AIndex : Integer; const AValue : String); virtual;
  57. Procedure SetnextPageToken(AIndex : Integer; const AValue : String); virtual;
  58. //2.6.4. bug workaround
  59. {$IFDEF VER2_6}
  60. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  61. {$ENDIF VER2_6}
  62. Public
  63. Published
  64. Property etag : String Index 0 Read Fetag Write Setetag;
  65. Property items : TActivitiesTypeitemsArray Index 8 Read Fitems Write Setitems;
  66. Property kind : String Index 16 Read Fkind Write Setkind;
  67. Property nextPageToken : String Index 24 Read FnextPageToken Write SetnextPageToken;
  68. end;
  69. TActivitiesClass = Class of TActivities;
  70. { --------------------------------------------------------------------
  71. TActivityTypeactor
  72. --------------------------------------------------------------------}
  73. TActivityTypeactor = Class(TGoogleBaseObject)
  74. Private
  75. FcallerType : String;
  76. Femail : String;
  77. Fkey : String;
  78. FprofileId : String;
  79. Protected
  80. //Property setters
  81. Procedure SetcallerType(AIndex : Integer; const AValue : String); virtual;
  82. Procedure Setemail(AIndex : Integer; const AValue : String); virtual;
  83. Procedure Setkey(AIndex : Integer; const AValue : String); virtual;
  84. Procedure SetprofileId(AIndex : Integer; const AValue : String); virtual;
  85. Public
  86. Published
  87. Property callerType : String Index 0 Read FcallerType Write SetcallerType;
  88. Property email : String Index 8 Read Femail Write Setemail;
  89. Property key : String Index 16 Read Fkey Write Setkey;
  90. Property profileId : String Index 24 Read FprofileId Write SetprofileId;
  91. end;
  92. TActivityTypeactorClass = Class of TActivityTypeactor;
  93. { --------------------------------------------------------------------
  94. TActivityTypeeventsItemTypeparametersItem
  95. --------------------------------------------------------------------}
  96. TActivityTypeeventsItemTypeparametersItem = Class(TGoogleBaseObject)
  97. Private
  98. FboolValue : boolean;
  99. FintValue : String;
  100. FmultiIntValue : TStringArray;
  101. FmultiValue : TStringArray;
  102. Fname : String;
  103. Fvalue : String;
  104. Protected
  105. //Property setters
  106. Procedure SetboolValue(AIndex : Integer; const AValue : boolean); virtual;
  107. Procedure SetintValue(AIndex : Integer; const AValue : String); virtual;
  108. Procedure SetmultiIntValue(AIndex : Integer; const AValue : TStringArray); virtual;
  109. Procedure SetmultiValue(AIndex : Integer; const AValue : TStringArray); virtual;
  110. Procedure Setname(AIndex : Integer; const AValue : String); virtual;
  111. Procedure Setvalue(AIndex : Integer; const AValue : String); virtual;
  112. //2.6.4. bug workaround
  113. {$IFDEF VER2_6}
  114. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  115. {$ENDIF VER2_6}
  116. Public
  117. Published
  118. Property boolValue : boolean Index 0 Read FboolValue Write SetboolValue;
  119. Property intValue : String Index 8 Read FintValue Write SetintValue;
  120. Property multiIntValue : TStringArray Index 16 Read FmultiIntValue Write SetmultiIntValue;
  121. Property multiValue : TStringArray Index 24 Read FmultiValue Write SetmultiValue;
  122. Property name : String Index 32 Read Fname Write Setname;
  123. Property value : String Index 40 Read Fvalue Write Setvalue;
  124. end;
  125. TActivityTypeeventsItemTypeparametersItemClass = Class of TActivityTypeeventsItemTypeparametersItem;
  126. { --------------------------------------------------------------------
  127. TActivityTypeeventsItem
  128. --------------------------------------------------------------------}
  129. TActivityTypeeventsItem = Class(TGoogleBaseObject)
  130. Private
  131. Fname : String;
  132. Fparameters : TActivityTypeeventsItemTypeparametersArray;
  133. F_type : String;
  134. Protected
  135. Class Function ExportPropertyName(Const AName : String) : string; override;
  136. //Property setters
  137. Procedure Setname(AIndex : Integer; const AValue : String); virtual;
  138. Procedure Setparameters(AIndex : Integer; const AValue : TActivityTypeeventsItemTypeparametersArray); virtual;
  139. Procedure Set_type(AIndex : Integer; const AValue : String); virtual;
  140. //2.6.4. bug workaround
  141. {$IFDEF VER2_6}
  142. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  143. {$ENDIF VER2_6}
  144. Public
  145. Published
  146. Property name : String Index 0 Read Fname Write Setname;
  147. Property parameters : TActivityTypeeventsItemTypeparametersArray Index 8 Read Fparameters Write Setparameters;
  148. Property _type : String Index 16 Read F_type Write Set_type;
  149. end;
  150. TActivityTypeeventsItemClass = Class of TActivityTypeeventsItem;
  151. { --------------------------------------------------------------------
  152. TActivityTypeid
  153. --------------------------------------------------------------------}
  154. TActivityTypeid = Class(TGoogleBaseObject)
  155. Private
  156. FapplicationName : String;
  157. FcustomerId : String;
  158. Ftime : TDatetime;
  159. FuniqueQualifier : String;
  160. Protected
  161. //Property setters
  162. Procedure SetapplicationName(AIndex : Integer; const AValue : String); virtual;
  163. Procedure SetcustomerId(AIndex : Integer; const AValue : String); virtual;
  164. Procedure Settime(AIndex : Integer; const AValue : TDatetime); virtual;
  165. Procedure SetuniqueQualifier(AIndex : Integer; const AValue : String); virtual;
  166. Public
  167. Published
  168. Property applicationName : String Index 0 Read FapplicationName Write SetapplicationName;
  169. Property customerId : String Index 8 Read FcustomerId Write SetcustomerId;
  170. Property time : TDatetime Index 16 Read Ftime Write Settime;
  171. Property uniqueQualifier : String Index 24 Read FuniqueQualifier Write SetuniqueQualifier;
  172. end;
  173. TActivityTypeidClass = Class of TActivityTypeid;
  174. { --------------------------------------------------------------------
  175. TActivity
  176. --------------------------------------------------------------------}
  177. TActivity = Class(TGoogleBaseObject)
  178. Private
  179. Factor : TActivityTypeactor;
  180. Fetag : String;
  181. Fevents : TActivityTypeeventsArray;
  182. Fid : TActivityTypeid;
  183. FipAddress : String;
  184. Fkind : String;
  185. FownerDomain : String;
  186. Protected
  187. //Property setters
  188. Procedure Setactor(AIndex : Integer; const AValue : TActivityTypeactor); virtual;
  189. Procedure Setetag(AIndex : Integer; const AValue : String); virtual;
  190. Procedure Setevents(AIndex : Integer; const AValue : TActivityTypeeventsArray); virtual;
  191. Procedure Setid(AIndex : Integer; const AValue : TActivityTypeid); virtual;
  192. Procedure SetipAddress(AIndex : Integer; const AValue : String); virtual;
  193. Procedure Setkind(AIndex : Integer; const AValue : String); virtual;
  194. Procedure SetownerDomain(AIndex : Integer; const AValue : String); virtual;
  195. //2.6.4. bug workaround
  196. {$IFDEF VER2_6}
  197. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  198. {$ENDIF VER2_6}
  199. Public
  200. Published
  201. Property actor : TActivityTypeactor Index 0 Read Factor Write Setactor;
  202. Property etag : String Index 8 Read Fetag Write Setetag;
  203. Property events : TActivityTypeeventsArray Index 16 Read Fevents Write Setevents;
  204. Property id : TActivityTypeid Index 24 Read Fid Write Setid;
  205. Property ipAddress : String Index 32 Read FipAddress Write SetipAddress;
  206. Property kind : String Index 40 Read Fkind Write Setkind;
  207. Property ownerDomain : String Index 48 Read FownerDomain Write SetownerDomain;
  208. end;
  209. TActivityClass = Class of TActivity;
  210. { --------------------------------------------------------------------
  211. TChannelTypeparams
  212. --------------------------------------------------------------------}
  213. TChannelTypeparams = Class(TGoogleBaseObject)
  214. Private
  215. Protected
  216. //Property setters
  217. Public
  218. Class Function AllowAdditionalProperties : Boolean; override;
  219. Published
  220. end;
  221. TChannelTypeparamsClass = Class of TChannelTypeparams;
  222. { --------------------------------------------------------------------
  223. TChannel
  224. --------------------------------------------------------------------}
  225. TChannel = Class(TGoogleBaseObject)
  226. Private
  227. Faddress : String;
  228. Fexpiration : String;
  229. Fid : String;
  230. Fkind : String;
  231. Fparams : TChannelTypeparams;
  232. Fpayload : boolean;
  233. FresourceId : String;
  234. FresourceUri : String;
  235. Ftoken : String;
  236. F_type : String;
  237. Protected
  238. Class Function ExportPropertyName(Const AName : String) : string; override;
  239. //Property setters
  240. Procedure Setaddress(AIndex : Integer; const AValue : String); virtual;
  241. Procedure Setexpiration(AIndex : Integer; const AValue : String); virtual;
  242. Procedure Setid(AIndex : Integer; const AValue : String); virtual;
  243. Procedure Setkind(AIndex : Integer; const AValue : String); virtual;
  244. Procedure Setparams(AIndex : Integer; const AValue : TChannelTypeparams); virtual;
  245. Procedure Setpayload(AIndex : Integer; const AValue : boolean); virtual;
  246. Procedure SetresourceId(AIndex : Integer; const AValue : String); virtual;
  247. Procedure SetresourceUri(AIndex : Integer; const AValue : String); virtual;
  248. Procedure Settoken(AIndex : Integer; const AValue : String); virtual;
  249. Procedure Set_type(AIndex : Integer; const AValue : String); virtual;
  250. Public
  251. Published
  252. Property address : String Index 0 Read Faddress Write Setaddress;
  253. Property expiration : String Index 8 Read Fexpiration Write Setexpiration;
  254. Property id : String Index 16 Read Fid Write Setid;
  255. Property kind : String Index 24 Read Fkind Write Setkind;
  256. Property params : TChannelTypeparams Index 32 Read Fparams Write Setparams;
  257. Property payload : boolean Index 40 Read Fpayload Write Setpayload;
  258. Property resourceId : String Index 48 Read FresourceId Write SetresourceId;
  259. Property resourceUri : String Index 56 Read FresourceUri Write SetresourceUri;
  260. Property token : String Index 64 Read Ftoken Write Settoken;
  261. Property _type : String Index 72 Read F_type Write Set_type;
  262. end;
  263. TChannelClass = Class of TChannel;
  264. { --------------------------------------------------------------------
  265. TUsageReportTypeentity
  266. --------------------------------------------------------------------}
  267. TUsageReportTypeentity = Class(TGoogleBaseObject)
  268. Private
  269. FcustomerId : String;
  270. FprofileId : String;
  271. F_type : String;
  272. FuserEmail : String;
  273. Protected
  274. Class Function ExportPropertyName(Const AName : String) : string; override;
  275. //Property setters
  276. Procedure SetcustomerId(AIndex : Integer; const AValue : String); virtual;
  277. Procedure SetprofileId(AIndex : Integer; const AValue : String); virtual;
  278. Procedure Set_type(AIndex : Integer; const AValue : String); virtual;
  279. Procedure SetuserEmail(AIndex : Integer; const AValue : String); virtual;
  280. Public
  281. Published
  282. Property customerId : String Index 0 Read FcustomerId Write SetcustomerId;
  283. Property profileId : String Index 8 Read FprofileId Write SetprofileId;
  284. Property _type : String Index 16 Read F_type Write Set_type;
  285. Property userEmail : String Index 24 Read FuserEmail Write SetuserEmail;
  286. end;
  287. TUsageReportTypeentityClass = Class of TUsageReportTypeentity;
  288. { --------------------------------------------------------------------
  289. TUsageReportTypeparametersItemTypemsgValueItem
  290. --------------------------------------------------------------------}
  291. TUsageReportTypeparametersItemTypemsgValueItem = Class(TGoogleBaseObject)
  292. Private
  293. Protected
  294. //Property setters
  295. Public
  296. Class Function AllowAdditionalProperties : Boolean; override;
  297. Published
  298. end;
  299. TUsageReportTypeparametersItemTypemsgValueItemClass = Class of TUsageReportTypeparametersItemTypemsgValueItem;
  300. { --------------------------------------------------------------------
  301. TUsageReportTypeparametersItem
  302. --------------------------------------------------------------------}
  303. TUsageReportTypeparametersItem = Class(TGoogleBaseObject)
  304. Private
  305. FboolValue : boolean;
  306. FdatetimeValue : TDatetime;
  307. FintValue : String;
  308. FmsgValue : TUsageReportTypeparametersItemTypemsgValueArray;
  309. Fname : String;
  310. FstringValue : String;
  311. Protected
  312. //Property setters
  313. Procedure SetboolValue(AIndex : Integer; const AValue : boolean); virtual;
  314. Procedure SetdatetimeValue(AIndex : Integer; const AValue : TDatetime); virtual;
  315. Procedure SetintValue(AIndex : Integer; const AValue : String); virtual;
  316. Procedure SetmsgValue(AIndex : Integer; const AValue : TUsageReportTypeparametersItemTypemsgValueArray); virtual;
  317. Procedure Setname(AIndex : Integer; const AValue : String); virtual;
  318. Procedure SetstringValue(AIndex : Integer; const AValue : String); virtual;
  319. //2.6.4. bug workaround
  320. {$IFDEF VER2_6}
  321. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  322. {$ENDIF VER2_6}
  323. Public
  324. Published
  325. Property boolValue : boolean Index 0 Read FboolValue Write SetboolValue;
  326. Property datetimeValue : TDatetime Index 8 Read FdatetimeValue Write SetdatetimeValue;
  327. Property intValue : String Index 16 Read FintValue Write SetintValue;
  328. Property msgValue : TUsageReportTypeparametersItemTypemsgValueArray Index 24 Read FmsgValue Write SetmsgValue;
  329. Property name : String Index 32 Read Fname Write Setname;
  330. Property stringValue : String Index 40 Read FstringValue Write SetstringValue;
  331. end;
  332. TUsageReportTypeparametersItemClass = Class of TUsageReportTypeparametersItem;
  333. { --------------------------------------------------------------------
  334. TUsageReport
  335. --------------------------------------------------------------------}
  336. TUsageReport = Class(TGoogleBaseObject)
  337. Private
  338. Fdate : String;
  339. Fentity : TUsageReportTypeentity;
  340. Fetag : String;
  341. Fkind : String;
  342. Fparameters : TUsageReportTypeparametersArray;
  343. Protected
  344. //Property setters
  345. Procedure Setdate(AIndex : Integer; const AValue : String); virtual;
  346. Procedure Setentity(AIndex : Integer; const AValue : TUsageReportTypeentity); virtual;
  347. Procedure Setetag(AIndex : Integer; const AValue : String); virtual;
  348. Procedure Setkind(AIndex : Integer; const AValue : String); virtual;
  349. Procedure Setparameters(AIndex : Integer; const AValue : TUsageReportTypeparametersArray); virtual;
  350. //2.6.4. bug workaround
  351. {$IFDEF VER2_6}
  352. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  353. {$ENDIF VER2_6}
  354. Public
  355. Published
  356. Property date : String Index 0 Read Fdate Write Setdate;
  357. Property entity : TUsageReportTypeentity Index 8 Read Fentity Write Setentity;
  358. Property etag : String Index 16 Read Fetag Write Setetag;
  359. Property kind : String Index 24 Read Fkind Write Setkind;
  360. Property parameters : TUsageReportTypeparametersArray Index 32 Read Fparameters Write Setparameters;
  361. end;
  362. TUsageReportClass = Class of TUsageReport;
  363. { --------------------------------------------------------------------
  364. TUsageReportsTypewarningsItemTypedataItem
  365. --------------------------------------------------------------------}
  366. TUsageReportsTypewarningsItemTypedataItem = Class(TGoogleBaseObject)
  367. Private
  368. Fkey : String;
  369. Fvalue : String;
  370. Protected
  371. //Property setters
  372. Procedure Setkey(AIndex : Integer; const AValue : String); virtual;
  373. Procedure Setvalue(AIndex : Integer; const AValue : String); virtual;
  374. Public
  375. Published
  376. Property key : String Index 0 Read Fkey Write Setkey;
  377. Property value : String Index 8 Read Fvalue Write Setvalue;
  378. end;
  379. TUsageReportsTypewarningsItemTypedataItemClass = Class of TUsageReportsTypewarningsItemTypedataItem;
  380. { --------------------------------------------------------------------
  381. TUsageReportsTypewarningsItem
  382. --------------------------------------------------------------------}
  383. TUsageReportsTypewarningsItem = Class(TGoogleBaseObject)
  384. Private
  385. Fcode : String;
  386. Fdata : TUsageReportsTypewarningsItemTypedataArray;
  387. Fmessage : String;
  388. Protected
  389. //Property setters
  390. Procedure Setcode(AIndex : Integer; const AValue : String); virtual;
  391. Procedure Setdata(AIndex : Integer; const AValue : TUsageReportsTypewarningsItemTypedataArray); virtual;
  392. Procedure Setmessage(AIndex : Integer; const AValue : String); virtual;
  393. //2.6.4. bug workaround
  394. {$IFDEF VER2_6}
  395. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  396. {$ENDIF VER2_6}
  397. Public
  398. Published
  399. Property code : String Index 0 Read Fcode Write Setcode;
  400. Property data : TUsageReportsTypewarningsItemTypedataArray Index 8 Read Fdata Write Setdata;
  401. Property message : String Index 16 Read Fmessage Write Setmessage;
  402. end;
  403. TUsageReportsTypewarningsItemClass = Class of TUsageReportsTypewarningsItem;
  404. { --------------------------------------------------------------------
  405. TUsageReports
  406. --------------------------------------------------------------------}
  407. TUsageReports = Class(TGoogleBaseObject)
  408. Private
  409. Fetag : String;
  410. Fkind : String;
  411. FnextPageToken : String;
  412. FusageReports : TUsageReportsTypeusageReportsArray;
  413. Fwarnings : TUsageReportsTypewarningsArray;
  414. Protected
  415. //Property setters
  416. Procedure Setetag(AIndex : Integer; const AValue : String); virtual;
  417. Procedure Setkind(AIndex : Integer; const AValue : String); virtual;
  418. Procedure SetnextPageToken(AIndex : Integer; const AValue : String); virtual;
  419. Procedure SetusageReports(AIndex : Integer; const AValue : TUsageReportsTypeusageReportsArray); virtual;
  420. Procedure Setwarnings(AIndex : Integer; const AValue : TUsageReportsTypewarningsArray); virtual;
  421. //2.6.4. bug workaround
  422. {$IFDEF VER2_6}
  423. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  424. {$ENDIF VER2_6}
  425. Public
  426. Published
  427. Property etag : String Index 0 Read Fetag Write Setetag;
  428. Property kind : String Index 8 Read Fkind Write Setkind;
  429. Property nextPageToken : String Index 16 Read FnextPageToken Write SetnextPageToken;
  430. Property usageReports : TUsageReportsTypeusageReportsArray Index 24 Read FusageReports Write SetusageReports;
  431. Property warnings : TUsageReportsTypewarningsArray Index 32 Read Fwarnings Write Setwarnings;
  432. end;
  433. TUsageReportsClass = Class of TUsageReports;
  434. { --------------------------------------------------------------------
  435. TActivitiesResource
  436. --------------------------------------------------------------------}
  437. //Optional query Options for TActivitiesResource, method List
  438. TActivitiesListOptions = Record
  439. actorIpAddress : String;
  440. customerId : String;
  441. endTime : String;
  442. eventName : String;
  443. filters : String;
  444. maxResults : integer;
  445. pageToken : String;
  446. startTime : String;
  447. end;
  448. //Optional query Options for TActivitiesResource, method Watch
  449. TActivitiesWatchOptions = Record
  450. actorIpAddress : String;
  451. customerId : String;
  452. endTime : String;
  453. eventName : String;
  454. filters : String;
  455. maxResults : integer;
  456. pageToken : String;
  457. startTime : String;
  458. end;
  459. TActivitiesResource = Class(TGoogleResource)
  460. Public
  461. Class Function ResourceName : String; override;
  462. Class Function DefaultAPI : TGoogleAPIClass; override;
  463. Function List(applicationName: string; userKey: string; AQuery : string = '') : TActivities;
  464. Function List(applicationName: string; userKey: string; AQuery : TActivitieslistOptions) : TActivities;
  465. Function Watch(applicationName: string; userKey: string; aChannel : TChannel; AQuery : string = '') : TChannel;
  466. Function Watch(applicationName: string; userKey: string; aChannel : TChannel; AQuery : TActivitieswatchOptions) : TChannel;
  467. end;
  468. { --------------------------------------------------------------------
  469. TChannelsResource
  470. --------------------------------------------------------------------}
  471. TChannelsResource = Class(TGoogleResource)
  472. Public
  473. Class Function ResourceName : String; override;
  474. Class Function DefaultAPI : TGoogleAPIClass; override;
  475. Procedure Stop(aChannel : TChannel);
  476. end;
  477. { --------------------------------------------------------------------
  478. TCustomerUsageReportsResource
  479. --------------------------------------------------------------------}
  480. //Optional query Options for TCustomerUsageReportsResource, method Get
  481. TCustomerUsageReportsGetOptions = Record
  482. customerId : String;
  483. pageToken : String;
  484. parameters : String;
  485. end;
  486. TCustomerUsageReportsResource = Class(TGoogleResource)
  487. Public
  488. Class Function ResourceName : String; override;
  489. Class Function DefaultAPI : TGoogleAPIClass; override;
  490. Function Get(date: string; AQuery : string = '') : TUsageReports;
  491. Function Get(date: string; AQuery : TCustomerUsageReportsgetOptions) : TUsageReports;
  492. end;
  493. { --------------------------------------------------------------------
  494. TUserUsageReportResource
  495. --------------------------------------------------------------------}
  496. //Optional query Options for TUserUsageReportResource, method Get
  497. TUserUsageReportGetOptions = Record
  498. customerId : String;
  499. filters : String;
  500. maxResults : integer;
  501. pageToken : String;
  502. parameters : String;
  503. end;
  504. TUserUsageReportResource = Class(TGoogleResource)
  505. Public
  506. Class Function ResourceName : String; override;
  507. Class Function DefaultAPI : TGoogleAPIClass; override;
  508. Function Get(date: string; userKey: string; AQuery : string = '') : TUsageReports;
  509. Function Get(date: string; userKey: string; AQuery : TUserUsageReportgetOptions) : TUsageReports;
  510. end;
  511. { --------------------------------------------------------------------
  512. TAdminAPI
  513. --------------------------------------------------------------------}
  514. TAdminAPI = Class(TGoogleAPI)
  515. Private
  516. FActivitiesInstance : TActivitiesResource;
  517. FChannelsInstance : TChannelsResource;
  518. FCustomerUsageReportsInstance : TCustomerUsageReportsResource;
  519. FUserUsageReportInstance : TUserUsageReportResource;
  520. Function GetActivitiesInstance : TActivitiesResource;virtual;
  521. Function GetChannelsInstance : TChannelsResource;virtual;
  522. Function GetCustomerUsageReportsInstance : TCustomerUsageReportsResource;virtual;
  523. Function GetUserUsageReportInstance : TUserUsageReportResource;virtual;
  524. Public
  525. //Override class functions with API info
  526. Class Function APIName : String; override;
  527. Class Function APIVersion : String; override;
  528. Class Function APIRevision : String; override;
  529. Class Function APIID : String; override;
  530. Class Function APITitle : String; override;
  531. Class Function APIDescription : String; override;
  532. Class Function APIOwnerDomain : String; override;
  533. Class Function APIOwnerName : String; override;
  534. Class Function APIIcon16 : String; override;
  535. Class Function APIIcon32 : String; override;
  536. Class Function APIdocumentationLink : String; override;
  537. Class Function APIrootUrl : string; override;
  538. Class Function APIbasePath : string;override;
  539. Class Function APIbaseURL : String;override;
  540. Class Function APIProtocol : string;override;
  541. Class Function APIservicePath : string;override;
  542. Class Function APIbatchPath : String;override;
  543. Class Function APIAuthScopes : TScopeInfoArray;override;
  544. Class Function APINeedsAuth : Boolean;override;
  545. Class Procedure RegisterAPIResources; override;
  546. //Add create function for resources
  547. Function CreateActivitiesResource(AOwner : TComponent) : TActivitiesResource;virtual;overload;
  548. Function CreateActivitiesResource : TActivitiesResource;virtual;overload;
  549. Function CreateChannelsResource(AOwner : TComponent) : TChannelsResource;virtual;overload;
  550. Function CreateChannelsResource : TChannelsResource;virtual;overload;
  551. Function CreateCustomerUsageReportsResource(AOwner : TComponent) : TCustomerUsageReportsResource;virtual;overload;
  552. Function CreateCustomerUsageReportsResource : TCustomerUsageReportsResource;virtual;overload;
  553. Function CreateUserUsageReportResource(AOwner : TComponent) : TUserUsageReportResource;virtual;overload;
  554. Function CreateUserUsageReportResource : TUserUsageReportResource;virtual;overload;
  555. //Add default on-demand instances for resources
  556. Property ActivitiesResource : TActivitiesResource Read GetActivitiesInstance;
  557. Property ChannelsResource : TChannelsResource Read GetChannelsInstance;
  558. Property CustomerUsageReportsResource : TCustomerUsageReportsResource Read GetCustomerUsageReportsInstance;
  559. Property UserUsageReportResource : TUserUsageReportResource Read GetUserUsageReportInstance;
  560. end;
  561. implementation
  562. { --------------------------------------------------------------------
  563. TActivities
  564. --------------------------------------------------------------------}
  565. Procedure TActivities.Setetag(AIndex : Integer; const AValue : String);
  566. begin
  567. If (Fetag=AValue) then exit;
  568. Fetag:=AValue;
  569. MarkPropertyChanged(AIndex);
  570. end;
  571. Procedure TActivities.Setitems(AIndex : Integer; const AValue : TActivitiesTypeitemsArray);
  572. begin
  573. If (Fitems=AValue) then exit;
  574. Fitems:=AValue;
  575. MarkPropertyChanged(AIndex);
  576. end;
  577. Procedure TActivities.Setkind(AIndex : Integer; const AValue : String);
  578. begin
  579. If (Fkind=AValue) then exit;
  580. Fkind:=AValue;
  581. MarkPropertyChanged(AIndex);
  582. end;
  583. Procedure TActivities.SetnextPageToken(AIndex : Integer; const AValue : String);
  584. begin
  585. If (FnextPageToken=AValue) then exit;
  586. FnextPageToken:=AValue;
  587. MarkPropertyChanged(AIndex);
  588. end;
  589. //2.6.4. bug workaround
  590. {$IFDEF VER2_6}
  591. Procedure TActivities.SetArrayLength(Const AName : String; ALength : Longint);
  592. begin
  593. Case AName of
  594. 'items' : SetLength(Fitems,ALength);
  595. else
  596. Inherited SetArrayLength(AName,ALength);
  597. end;
  598. end;
  599. {$ENDIF VER2_6}
  600. { --------------------------------------------------------------------
  601. TActivityTypeactor
  602. --------------------------------------------------------------------}
  603. Procedure TActivityTypeactor.SetcallerType(AIndex : Integer; const AValue : String);
  604. begin
  605. If (FcallerType=AValue) then exit;
  606. FcallerType:=AValue;
  607. MarkPropertyChanged(AIndex);
  608. end;
  609. Procedure TActivityTypeactor.Setemail(AIndex : Integer; const AValue : String);
  610. begin
  611. If (Femail=AValue) then exit;
  612. Femail:=AValue;
  613. MarkPropertyChanged(AIndex);
  614. end;
  615. Procedure TActivityTypeactor.Setkey(AIndex : Integer; const AValue : String);
  616. begin
  617. If (Fkey=AValue) then exit;
  618. Fkey:=AValue;
  619. MarkPropertyChanged(AIndex);
  620. end;
  621. Procedure TActivityTypeactor.SetprofileId(AIndex : Integer; const AValue : String);
  622. begin
  623. If (FprofileId=AValue) then exit;
  624. FprofileId:=AValue;
  625. MarkPropertyChanged(AIndex);
  626. end;
  627. { --------------------------------------------------------------------
  628. TActivityTypeeventsItemTypeparametersItem
  629. --------------------------------------------------------------------}
  630. Procedure TActivityTypeeventsItemTypeparametersItem.SetboolValue(AIndex : Integer; const AValue : boolean);
  631. begin
  632. If (FboolValue=AValue) then exit;
  633. FboolValue:=AValue;
  634. MarkPropertyChanged(AIndex);
  635. end;
  636. Procedure TActivityTypeeventsItemTypeparametersItem.SetintValue(AIndex : Integer; const AValue : String);
  637. begin
  638. If (FintValue=AValue) then exit;
  639. FintValue:=AValue;
  640. MarkPropertyChanged(AIndex);
  641. end;
  642. Procedure TActivityTypeeventsItemTypeparametersItem.SetmultiIntValue(AIndex : Integer; const AValue : TStringArray);
  643. begin
  644. If (FmultiIntValue=AValue) then exit;
  645. FmultiIntValue:=AValue;
  646. MarkPropertyChanged(AIndex);
  647. end;
  648. Procedure TActivityTypeeventsItemTypeparametersItem.SetmultiValue(AIndex : Integer; const AValue : TStringArray);
  649. begin
  650. If (FmultiValue=AValue) then exit;
  651. FmultiValue:=AValue;
  652. MarkPropertyChanged(AIndex);
  653. end;
  654. Procedure TActivityTypeeventsItemTypeparametersItem.Setname(AIndex : Integer; const AValue : String);
  655. begin
  656. If (Fname=AValue) then exit;
  657. Fname:=AValue;
  658. MarkPropertyChanged(AIndex);
  659. end;
  660. Procedure TActivityTypeeventsItemTypeparametersItem.Setvalue(AIndex : Integer; const AValue : String);
  661. begin
  662. If (Fvalue=AValue) then exit;
  663. Fvalue:=AValue;
  664. MarkPropertyChanged(AIndex);
  665. end;
  666. //2.6.4. bug workaround
  667. {$IFDEF VER2_6}
  668. Procedure TActivityTypeeventsItemTypeparametersItem.SetArrayLength(Const AName : String; ALength : Longint);
  669. begin
  670. Case AName of
  671. 'multiintvalue' : SetLength(FmultiIntValue,ALength);
  672. 'multivalue' : SetLength(FmultiValue,ALength);
  673. else
  674. Inherited SetArrayLength(AName,ALength);
  675. end;
  676. end;
  677. {$ENDIF VER2_6}
  678. { --------------------------------------------------------------------
  679. TActivityTypeeventsItem
  680. --------------------------------------------------------------------}
  681. Procedure TActivityTypeeventsItem.Setname(AIndex : Integer; const AValue : String);
  682. begin
  683. If (Fname=AValue) then exit;
  684. Fname:=AValue;
  685. MarkPropertyChanged(AIndex);
  686. end;
  687. Procedure TActivityTypeeventsItem.Setparameters(AIndex : Integer; const AValue : TActivityTypeeventsItemTypeparametersArray);
  688. begin
  689. If (Fparameters=AValue) then exit;
  690. Fparameters:=AValue;
  691. MarkPropertyChanged(AIndex);
  692. end;
  693. Procedure TActivityTypeeventsItem.Set_type(AIndex : Integer; const AValue : String);
  694. begin
  695. If (F_type=AValue) then exit;
  696. F_type:=AValue;
  697. MarkPropertyChanged(AIndex);
  698. end;
  699. Class Function TActivityTypeeventsItem.ExportPropertyName(Const AName : String) :String;
  700. begin
  701. Case AName of
  702. '_type' : Result:='type';
  703. else
  704. Result:=Inherited ExportPropertyName(AName);
  705. end;
  706. end;
  707. //2.6.4. bug workaround
  708. {$IFDEF VER2_6}
  709. Procedure TActivityTypeeventsItem.SetArrayLength(Const AName : String; ALength : Longint);
  710. begin
  711. Case AName of
  712. 'parameters' : SetLength(Fparameters,ALength);
  713. else
  714. Inherited SetArrayLength(AName,ALength);
  715. end;
  716. end;
  717. {$ENDIF VER2_6}
  718. { --------------------------------------------------------------------
  719. TActivityTypeid
  720. --------------------------------------------------------------------}
  721. Procedure TActivityTypeid.SetapplicationName(AIndex : Integer; const AValue : String);
  722. begin
  723. If (FapplicationName=AValue) then exit;
  724. FapplicationName:=AValue;
  725. MarkPropertyChanged(AIndex);
  726. end;
  727. Procedure TActivityTypeid.SetcustomerId(AIndex : Integer; const AValue : String);
  728. begin
  729. If (FcustomerId=AValue) then exit;
  730. FcustomerId:=AValue;
  731. MarkPropertyChanged(AIndex);
  732. end;
  733. Procedure TActivityTypeid.Settime(AIndex : Integer; const AValue : TDatetime);
  734. begin
  735. If (Ftime=AValue) then exit;
  736. Ftime:=AValue;
  737. MarkPropertyChanged(AIndex);
  738. end;
  739. Procedure TActivityTypeid.SetuniqueQualifier(AIndex : Integer; const AValue : String);
  740. begin
  741. If (FuniqueQualifier=AValue) then exit;
  742. FuniqueQualifier:=AValue;
  743. MarkPropertyChanged(AIndex);
  744. end;
  745. { --------------------------------------------------------------------
  746. TActivity
  747. --------------------------------------------------------------------}
  748. Procedure TActivity.Setactor(AIndex : Integer; const AValue : TActivityTypeactor);
  749. begin
  750. If (Factor=AValue) then exit;
  751. Factor:=AValue;
  752. MarkPropertyChanged(AIndex);
  753. end;
  754. Procedure TActivity.Setetag(AIndex : Integer; const AValue : String);
  755. begin
  756. If (Fetag=AValue) then exit;
  757. Fetag:=AValue;
  758. MarkPropertyChanged(AIndex);
  759. end;
  760. Procedure TActivity.Setevents(AIndex : Integer; const AValue : TActivityTypeeventsArray);
  761. begin
  762. If (Fevents=AValue) then exit;
  763. Fevents:=AValue;
  764. MarkPropertyChanged(AIndex);
  765. end;
  766. Procedure TActivity.Setid(AIndex : Integer; const AValue : TActivityTypeid);
  767. begin
  768. If (Fid=AValue) then exit;
  769. Fid:=AValue;
  770. MarkPropertyChanged(AIndex);
  771. end;
  772. Procedure TActivity.SetipAddress(AIndex : Integer; const AValue : String);
  773. begin
  774. If (FipAddress=AValue) then exit;
  775. FipAddress:=AValue;
  776. MarkPropertyChanged(AIndex);
  777. end;
  778. Procedure TActivity.Setkind(AIndex : Integer; const AValue : String);
  779. begin
  780. If (Fkind=AValue) then exit;
  781. Fkind:=AValue;
  782. MarkPropertyChanged(AIndex);
  783. end;
  784. Procedure TActivity.SetownerDomain(AIndex : Integer; const AValue : String);
  785. begin
  786. If (FownerDomain=AValue) then exit;
  787. FownerDomain:=AValue;
  788. MarkPropertyChanged(AIndex);
  789. end;
  790. //2.6.4. bug workaround
  791. {$IFDEF VER2_6}
  792. Procedure TActivity.SetArrayLength(Const AName : String; ALength : Longint);
  793. begin
  794. Case AName of
  795. 'events' : SetLength(Fevents,ALength);
  796. else
  797. Inherited SetArrayLength(AName,ALength);
  798. end;
  799. end;
  800. {$ENDIF VER2_6}
  801. { --------------------------------------------------------------------
  802. TChannelTypeparams
  803. --------------------------------------------------------------------}
  804. Class Function TChannelTypeparams.AllowAdditionalProperties : Boolean;
  805. begin
  806. Result:=True;
  807. end;
  808. { --------------------------------------------------------------------
  809. TChannel
  810. --------------------------------------------------------------------}
  811. Procedure TChannel.Setaddress(AIndex : Integer; const AValue : String);
  812. begin
  813. If (Faddress=AValue) then exit;
  814. Faddress:=AValue;
  815. MarkPropertyChanged(AIndex);
  816. end;
  817. Procedure TChannel.Setexpiration(AIndex : Integer; const AValue : String);
  818. begin
  819. If (Fexpiration=AValue) then exit;
  820. Fexpiration:=AValue;
  821. MarkPropertyChanged(AIndex);
  822. end;
  823. Procedure TChannel.Setid(AIndex : Integer; const AValue : String);
  824. begin
  825. If (Fid=AValue) then exit;
  826. Fid:=AValue;
  827. MarkPropertyChanged(AIndex);
  828. end;
  829. Procedure TChannel.Setkind(AIndex : Integer; const AValue : String);
  830. begin
  831. If (Fkind=AValue) then exit;
  832. Fkind:=AValue;
  833. MarkPropertyChanged(AIndex);
  834. end;
  835. Procedure TChannel.Setparams(AIndex : Integer; const AValue : TChannelTypeparams);
  836. begin
  837. If (Fparams=AValue) then exit;
  838. Fparams:=AValue;
  839. MarkPropertyChanged(AIndex);
  840. end;
  841. Procedure TChannel.Setpayload(AIndex : Integer; const AValue : boolean);
  842. begin
  843. If (Fpayload=AValue) then exit;
  844. Fpayload:=AValue;
  845. MarkPropertyChanged(AIndex);
  846. end;
  847. Procedure TChannel.SetresourceId(AIndex : Integer; const AValue : String);
  848. begin
  849. If (FresourceId=AValue) then exit;
  850. FresourceId:=AValue;
  851. MarkPropertyChanged(AIndex);
  852. end;
  853. Procedure TChannel.SetresourceUri(AIndex : Integer; const AValue : String);
  854. begin
  855. If (FresourceUri=AValue) then exit;
  856. FresourceUri:=AValue;
  857. MarkPropertyChanged(AIndex);
  858. end;
  859. Procedure TChannel.Settoken(AIndex : Integer; const AValue : String);
  860. begin
  861. If (Ftoken=AValue) then exit;
  862. Ftoken:=AValue;
  863. MarkPropertyChanged(AIndex);
  864. end;
  865. Procedure TChannel.Set_type(AIndex : Integer; const AValue : String);
  866. begin
  867. If (F_type=AValue) then exit;
  868. F_type:=AValue;
  869. MarkPropertyChanged(AIndex);
  870. end;
  871. Class Function TChannel.ExportPropertyName(Const AName : String) :String;
  872. begin
  873. Case AName of
  874. '_type' : Result:='type';
  875. else
  876. Result:=Inherited ExportPropertyName(AName);
  877. end;
  878. end;
  879. { --------------------------------------------------------------------
  880. TUsageReportTypeentity
  881. --------------------------------------------------------------------}
  882. Procedure TUsageReportTypeentity.SetcustomerId(AIndex : Integer; const AValue : String);
  883. begin
  884. If (FcustomerId=AValue) then exit;
  885. FcustomerId:=AValue;
  886. MarkPropertyChanged(AIndex);
  887. end;
  888. Procedure TUsageReportTypeentity.SetprofileId(AIndex : Integer; const AValue : String);
  889. begin
  890. If (FprofileId=AValue) then exit;
  891. FprofileId:=AValue;
  892. MarkPropertyChanged(AIndex);
  893. end;
  894. Procedure TUsageReportTypeentity.Set_type(AIndex : Integer; const AValue : String);
  895. begin
  896. If (F_type=AValue) then exit;
  897. F_type:=AValue;
  898. MarkPropertyChanged(AIndex);
  899. end;
  900. Procedure TUsageReportTypeentity.SetuserEmail(AIndex : Integer; const AValue : String);
  901. begin
  902. If (FuserEmail=AValue) then exit;
  903. FuserEmail:=AValue;
  904. MarkPropertyChanged(AIndex);
  905. end;
  906. Class Function TUsageReportTypeentity.ExportPropertyName(Const AName : String) :String;
  907. begin
  908. Case AName of
  909. '_type' : Result:='type';
  910. else
  911. Result:=Inherited ExportPropertyName(AName);
  912. end;
  913. end;
  914. { --------------------------------------------------------------------
  915. TUsageReportTypeparametersItemTypemsgValueItem
  916. --------------------------------------------------------------------}
  917. Class Function TUsageReportTypeparametersItemTypemsgValueItem.AllowAdditionalProperties : Boolean;
  918. begin
  919. Result:=True;
  920. end;
  921. { --------------------------------------------------------------------
  922. TUsageReportTypeparametersItem
  923. --------------------------------------------------------------------}
  924. Procedure TUsageReportTypeparametersItem.SetboolValue(AIndex : Integer; const AValue : boolean);
  925. begin
  926. If (FboolValue=AValue) then exit;
  927. FboolValue:=AValue;
  928. MarkPropertyChanged(AIndex);
  929. end;
  930. Procedure TUsageReportTypeparametersItem.SetdatetimeValue(AIndex : Integer; const AValue : TDatetime);
  931. begin
  932. If (FdatetimeValue=AValue) then exit;
  933. FdatetimeValue:=AValue;
  934. MarkPropertyChanged(AIndex);
  935. end;
  936. Procedure TUsageReportTypeparametersItem.SetintValue(AIndex : Integer; const AValue : String);
  937. begin
  938. If (FintValue=AValue) then exit;
  939. FintValue:=AValue;
  940. MarkPropertyChanged(AIndex);
  941. end;
  942. Procedure TUsageReportTypeparametersItem.SetmsgValue(AIndex : Integer; const AValue : TUsageReportTypeparametersItemTypemsgValueArray);
  943. begin
  944. If (FmsgValue=AValue) then exit;
  945. FmsgValue:=AValue;
  946. MarkPropertyChanged(AIndex);
  947. end;
  948. Procedure TUsageReportTypeparametersItem.Setname(AIndex : Integer; const AValue : String);
  949. begin
  950. If (Fname=AValue) then exit;
  951. Fname:=AValue;
  952. MarkPropertyChanged(AIndex);
  953. end;
  954. Procedure TUsageReportTypeparametersItem.SetstringValue(AIndex : Integer; const AValue : String);
  955. begin
  956. If (FstringValue=AValue) then exit;
  957. FstringValue:=AValue;
  958. MarkPropertyChanged(AIndex);
  959. end;
  960. //2.6.4. bug workaround
  961. {$IFDEF VER2_6}
  962. Procedure TUsageReportTypeparametersItem.SetArrayLength(Const AName : String; ALength : Longint);
  963. begin
  964. Case AName of
  965. 'msgvalue' : SetLength(FmsgValue,ALength);
  966. else
  967. Inherited SetArrayLength(AName,ALength);
  968. end;
  969. end;
  970. {$ENDIF VER2_6}
  971. { --------------------------------------------------------------------
  972. TUsageReport
  973. --------------------------------------------------------------------}
  974. Procedure TUsageReport.Setdate(AIndex : Integer; const AValue : String);
  975. begin
  976. If (Fdate=AValue) then exit;
  977. Fdate:=AValue;
  978. MarkPropertyChanged(AIndex);
  979. end;
  980. Procedure TUsageReport.Setentity(AIndex : Integer; const AValue : TUsageReportTypeentity);
  981. begin
  982. If (Fentity=AValue) then exit;
  983. Fentity:=AValue;
  984. MarkPropertyChanged(AIndex);
  985. end;
  986. Procedure TUsageReport.Setetag(AIndex : Integer; const AValue : String);
  987. begin
  988. If (Fetag=AValue) then exit;
  989. Fetag:=AValue;
  990. MarkPropertyChanged(AIndex);
  991. end;
  992. Procedure TUsageReport.Setkind(AIndex : Integer; const AValue : String);
  993. begin
  994. If (Fkind=AValue) then exit;
  995. Fkind:=AValue;
  996. MarkPropertyChanged(AIndex);
  997. end;
  998. Procedure TUsageReport.Setparameters(AIndex : Integer; const AValue : TUsageReportTypeparametersArray);
  999. begin
  1000. If (Fparameters=AValue) then exit;
  1001. Fparameters:=AValue;
  1002. MarkPropertyChanged(AIndex);
  1003. end;
  1004. //2.6.4. bug workaround
  1005. {$IFDEF VER2_6}
  1006. Procedure TUsageReport.SetArrayLength(Const AName : String; ALength : Longint);
  1007. begin
  1008. Case AName of
  1009. 'parameters' : SetLength(Fparameters,ALength);
  1010. else
  1011. Inherited SetArrayLength(AName,ALength);
  1012. end;
  1013. end;
  1014. {$ENDIF VER2_6}
  1015. { --------------------------------------------------------------------
  1016. TUsageReportsTypewarningsItemTypedataItem
  1017. --------------------------------------------------------------------}
  1018. Procedure TUsageReportsTypewarningsItemTypedataItem.Setkey(AIndex : Integer; const AValue : String);
  1019. begin
  1020. If (Fkey=AValue) then exit;
  1021. Fkey:=AValue;
  1022. MarkPropertyChanged(AIndex);
  1023. end;
  1024. Procedure TUsageReportsTypewarningsItemTypedataItem.Setvalue(AIndex : Integer; const AValue : String);
  1025. begin
  1026. If (Fvalue=AValue) then exit;
  1027. Fvalue:=AValue;
  1028. MarkPropertyChanged(AIndex);
  1029. end;
  1030. { --------------------------------------------------------------------
  1031. TUsageReportsTypewarningsItem
  1032. --------------------------------------------------------------------}
  1033. Procedure TUsageReportsTypewarningsItem.Setcode(AIndex : Integer; const AValue : String);
  1034. begin
  1035. If (Fcode=AValue) then exit;
  1036. Fcode:=AValue;
  1037. MarkPropertyChanged(AIndex);
  1038. end;
  1039. Procedure TUsageReportsTypewarningsItem.Setdata(AIndex : Integer; const AValue : TUsageReportsTypewarningsItemTypedataArray);
  1040. begin
  1041. If (Fdata=AValue) then exit;
  1042. Fdata:=AValue;
  1043. MarkPropertyChanged(AIndex);
  1044. end;
  1045. Procedure TUsageReportsTypewarningsItem.Setmessage(AIndex : Integer; const AValue : String);
  1046. begin
  1047. If (Fmessage=AValue) then exit;
  1048. Fmessage:=AValue;
  1049. MarkPropertyChanged(AIndex);
  1050. end;
  1051. //2.6.4. bug workaround
  1052. {$IFDEF VER2_6}
  1053. Procedure TUsageReportsTypewarningsItem.SetArrayLength(Const AName : String; ALength : Longint);
  1054. begin
  1055. Case AName of
  1056. 'data' : SetLength(Fdata,ALength);
  1057. else
  1058. Inherited SetArrayLength(AName,ALength);
  1059. end;
  1060. end;
  1061. {$ENDIF VER2_6}
  1062. { --------------------------------------------------------------------
  1063. TUsageReports
  1064. --------------------------------------------------------------------}
  1065. Procedure TUsageReports.Setetag(AIndex : Integer; const AValue : String);
  1066. begin
  1067. If (Fetag=AValue) then exit;
  1068. Fetag:=AValue;
  1069. MarkPropertyChanged(AIndex);
  1070. end;
  1071. Procedure TUsageReports.Setkind(AIndex : Integer; const AValue : String);
  1072. begin
  1073. If (Fkind=AValue) then exit;
  1074. Fkind:=AValue;
  1075. MarkPropertyChanged(AIndex);
  1076. end;
  1077. Procedure TUsageReports.SetnextPageToken(AIndex : Integer; const AValue : String);
  1078. begin
  1079. If (FnextPageToken=AValue) then exit;
  1080. FnextPageToken:=AValue;
  1081. MarkPropertyChanged(AIndex);
  1082. end;
  1083. Procedure TUsageReports.SetusageReports(AIndex : Integer; const AValue : TUsageReportsTypeusageReportsArray);
  1084. begin
  1085. If (FusageReports=AValue) then exit;
  1086. FusageReports:=AValue;
  1087. MarkPropertyChanged(AIndex);
  1088. end;
  1089. Procedure TUsageReports.Setwarnings(AIndex : Integer; const AValue : TUsageReportsTypewarningsArray);
  1090. begin
  1091. If (Fwarnings=AValue) then exit;
  1092. Fwarnings:=AValue;
  1093. MarkPropertyChanged(AIndex);
  1094. end;
  1095. //2.6.4. bug workaround
  1096. {$IFDEF VER2_6}
  1097. Procedure TUsageReports.SetArrayLength(Const AName : String; ALength : Longint);
  1098. begin
  1099. Case AName of
  1100. 'usagereports' : SetLength(FusageReports,ALength);
  1101. 'warnings' : SetLength(Fwarnings,ALength);
  1102. else
  1103. Inherited SetArrayLength(AName,ALength);
  1104. end;
  1105. end;
  1106. {$ENDIF VER2_6}
  1107. { --------------------------------------------------------------------
  1108. TActivitiesResource
  1109. --------------------------------------------------------------------}
  1110. Class Function TActivitiesResource.ResourceName : String;
  1111. begin
  1112. Result:='activities';
  1113. end;
  1114. Class Function TActivitiesResource.DefaultAPI : TGoogleAPIClass;
  1115. begin
  1116. Result:=TadminAPI;
  1117. end;
  1118. Function TActivitiesResource.List(applicationName: string; userKey: string; AQuery : string = '') : TActivities;
  1119. Const
  1120. _HTTPMethod = 'GET';
  1121. _Path = 'activity/users/{userKey}/applications/{applicationName}';
  1122. _Methodid = 'reports.activities.list';
  1123. Var
  1124. _P : String;
  1125. begin
  1126. _P:=SubstitutePath(_Path,['applicationName',applicationName,'userKey',userKey]);
  1127. Result:=ServiceCall(_HTTPMethod,_P,AQuery,Nil,TActivities) as TActivities;
  1128. end;
  1129. Function TActivitiesResource.List(applicationName: string; userKey: string; AQuery : TActivitieslistOptions) : TActivities;
  1130. Var
  1131. _Q : String;
  1132. begin
  1133. _Q:='';
  1134. AddToQuery(_Q,'actorIpAddress',AQuery.actorIpAddress);
  1135. AddToQuery(_Q,'customerId',AQuery.customerId);
  1136. AddToQuery(_Q,'endTime',AQuery.endTime);
  1137. AddToQuery(_Q,'eventName',AQuery.eventName);
  1138. AddToQuery(_Q,'filters',AQuery.filters);
  1139. AddToQuery(_Q,'maxResults',AQuery.maxResults);
  1140. AddToQuery(_Q,'pageToken',AQuery.pageToken);
  1141. AddToQuery(_Q,'startTime',AQuery.startTime);
  1142. Result:=List(applicationName,userKey,_Q);
  1143. end;
  1144. Function TActivitiesResource.Watch(applicationName: string; userKey: string; aChannel : TChannel; AQuery : string = '') : TChannel;
  1145. Const
  1146. _HTTPMethod = 'POST';
  1147. _Path = 'activity/users/{userKey}/applications/{applicationName}/watch';
  1148. _Methodid = 'reports.activities.watch';
  1149. Var
  1150. _P : String;
  1151. begin
  1152. _P:=SubstitutePath(_Path,['applicationName',applicationName,'userKey',userKey]);
  1153. Result:=ServiceCall(_HTTPMethod,_P,AQuery,aChannel,TChannel) as TChannel;
  1154. end;
  1155. Function TActivitiesResource.Watch(applicationName: string; userKey: string; aChannel : TChannel; AQuery : TActivitieswatchOptions) : TChannel;
  1156. Var
  1157. _Q : String;
  1158. begin
  1159. _Q:='';
  1160. AddToQuery(_Q,'actorIpAddress',AQuery.actorIpAddress);
  1161. AddToQuery(_Q,'customerId',AQuery.customerId);
  1162. AddToQuery(_Q,'endTime',AQuery.endTime);
  1163. AddToQuery(_Q,'eventName',AQuery.eventName);
  1164. AddToQuery(_Q,'filters',AQuery.filters);
  1165. AddToQuery(_Q,'maxResults',AQuery.maxResults);
  1166. AddToQuery(_Q,'pageToken',AQuery.pageToken);
  1167. AddToQuery(_Q,'startTime',AQuery.startTime);
  1168. Result:=Watch(applicationName,userKey,aChannel,_Q);
  1169. end;
  1170. { --------------------------------------------------------------------
  1171. TChannelsResource
  1172. --------------------------------------------------------------------}
  1173. Class Function TChannelsResource.ResourceName : String;
  1174. begin
  1175. Result:='channels';
  1176. end;
  1177. Class Function TChannelsResource.DefaultAPI : TGoogleAPIClass;
  1178. begin
  1179. Result:=TadminAPI;
  1180. end;
  1181. Procedure TChannelsResource.Stop(aChannel : TChannel);
  1182. Const
  1183. _HTTPMethod = 'POST';
  1184. _Path = '/admin/reports_v1/channels/stop';
  1185. _Methodid = 'admin.channels.stop';
  1186. begin
  1187. ServiceCall(_HTTPMethod,_Path,'',aChannel,Nil);
  1188. end;
  1189. { --------------------------------------------------------------------
  1190. TCustomerUsageReportsResource
  1191. --------------------------------------------------------------------}
  1192. Class Function TCustomerUsageReportsResource.ResourceName : String;
  1193. begin
  1194. Result:='customerUsageReports';
  1195. end;
  1196. Class Function TCustomerUsageReportsResource.DefaultAPI : TGoogleAPIClass;
  1197. begin
  1198. Result:=TadminAPI;
  1199. end;
  1200. Function TCustomerUsageReportsResource.Get(date: string; AQuery : string = '') : TUsageReports;
  1201. Const
  1202. _HTTPMethod = 'GET';
  1203. _Path = 'usage/dates/{date}';
  1204. _Methodid = 'reports.customerUsageReports.get';
  1205. Var
  1206. _P : String;
  1207. begin
  1208. _P:=SubstitutePath(_Path,['date',date]);
  1209. Result:=ServiceCall(_HTTPMethod,_P,AQuery,Nil,TUsageReports) as TUsageReports;
  1210. end;
  1211. Function TCustomerUsageReportsResource.Get(date: string; AQuery : TCustomerUsageReportsgetOptions) : TUsageReports;
  1212. Var
  1213. _Q : String;
  1214. begin
  1215. _Q:='';
  1216. AddToQuery(_Q,'customerId',AQuery.customerId);
  1217. AddToQuery(_Q,'pageToken',AQuery.pageToken);
  1218. AddToQuery(_Q,'parameters',AQuery.parameters);
  1219. Result:=Get(date,_Q);
  1220. end;
  1221. { --------------------------------------------------------------------
  1222. TUserUsageReportResource
  1223. --------------------------------------------------------------------}
  1224. Class Function TUserUsageReportResource.ResourceName : String;
  1225. begin
  1226. Result:='userUsageReport';
  1227. end;
  1228. Class Function TUserUsageReportResource.DefaultAPI : TGoogleAPIClass;
  1229. begin
  1230. Result:=TadminAPI;
  1231. end;
  1232. Function TUserUsageReportResource.Get(date: string; userKey: string; AQuery : string = '') : TUsageReports;
  1233. Const
  1234. _HTTPMethod = 'GET';
  1235. _Path = 'usage/users/{userKey}/dates/{date}';
  1236. _Methodid = 'reports.userUsageReport.get';
  1237. Var
  1238. _P : String;
  1239. begin
  1240. _P:=SubstitutePath(_Path,['date',date,'userKey',userKey]);
  1241. Result:=ServiceCall(_HTTPMethod,_P,AQuery,Nil,TUsageReports) as TUsageReports;
  1242. end;
  1243. Function TUserUsageReportResource.Get(date: string; userKey: string; AQuery : TUserUsageReportgetOptions) : TUsageReports;
  1244. Var
  1245. _Q : String;
  1246. begin
  1247. _Q:='';
  1248. AddToQuery(_Q,'customerId',AQuery.customerId);
  1249. AddToQuery(_Q,'filters',AQuery.filters);
  1250. AddToQuery(_Q,'maxResults',AQuery.maxResults);
  1251. AddToQuery(_Q,'pageToken',AQuery.pageToken);
  1252. AddToQuery(_Q,'parameters',AQuery.parameters);
  1253. Result:=Get(date,userKey,_Q);
  1254. end;
  1255. { --------------------------------------------------------------------
  1256. TAdminAPI
  1257. --------------------------------------------------------------------}
  1258. Class Function TAdminAPI.APIName : String;
  1259. begin
  1260. Result:='admin';
  1261. end;
  1262. Class Function TAdminAPI.APIVersion : String;
  1263. begin
  1264. Result:='reports_v1';
  1265. end;
  1266. Class Function TAdminAPI.APIRevision : String;
  1267. begin
  1268. Result:='20151113';
  1269. end;
  1270. Class Function TAdminAPI.APIID : String;
  1271. begin
  1272. Result:='admin:reports_v1';
  1273. end;
  1274. Class Function TAdminAPI.APITitle : String;
  1275. begin
  1276. Result:='Admin Reports API';
  1277. end;
  1278. Class Function TAdminAPI.APIDescription : String;
  1279. begin
  1280. Result:='Allows the administrators of Google Apps customers to fetch reports about the usage, collaboration, security and risk for their users.';
  1281. end;
  1282. Class Function TAdminAPI.APIOwnerDomain : String;
  1283. begin
  1284. Result:='google.com';
  1285. end;
  1286. Class Function TAdminAPI.APIOwnerName : String;
  1287. begin
  1288. Result:='Google';
  1289. end;
  1290. Class Function TAdminAPI.APIIcon16 : String;
  1291. begin
  1292. Result:='http://www.google.com/images/icons/product/search-16.gif';
  1293. end;
  1294. Class Function TAdminAPI.APIIcon32 : String;
  1295. begin
  1296. Result:='http://www.google.com/images/icons/product/search-32.gif';
  1297. end;
  1298. Class Function TAdminAPI.APIdocumentationLink : String;
  1299. begin
  1300. Result:='https://developers.google.com/admin-sdk/reports/';
  1301. end;
  1302. Class Function TAdminAPI.APIrootUrl : string;
  1303. begin
  1304. Result:='https://www.googleapis.com/';
  1305. end;
  1306. Class Function TAdminAPI.APIbasePath : string;
  1307. begin
  1308. Result:='/admin/reports/v1/';
  1309. end;
  1310. Class Function TAdminAPI.APIbaseURL : String;
  1311. begin
  1312. Result:='https://www.googleapis.com/admin/reports/v1/';
  1313. end;
  1314. Class Function TAdminAPI.APIProtocol : string;
  1315. begin
  1316. Result:='rest';
  1317. end;
  1318. Class Function TAdminAPI.APIservicePath : string;
  1319. begin
  1320. Result:='admin/reports/v1/';
  1321. end;
  1322. Class Function TAdminAPI.APIbatchPath : String;
  1323. begin
  1324. Result:='batch';
  1325. end;
  1326. Class Function TAdminAPI.APIAuthScopes : TScopeInfoArray;
  1327. begin
  1328. SetLength(Result,2);
  1329. Result[0].Name:='https://www.googleapis.com/auth/admin.reports.audit.readonly';
  1330. Result[0].Description:='View audit reports of Google Apps for your domain';
  1331. Result[1].Name:='https://www.googleapis.com/auth/admin.reports.usage.readonly';
  1332. Result[1].Description:='View usage reports of Google Apps for your domain';
  1333. end;
  1334. Class Function TAdminAPI.APINeedsAuth : Boolean;
  1335. begin
  1336. Result:=True;
  1337. end;
  1338. Class Procedure TAdminAPI.RegisterAPIResources;
  1339. begin
  1340. TActivities.RegisterObject;
  1341. TActivityTypeactor.RegisterObject;
  1342. TActivityTypeeventsItemTypeparametersItem.RegisterObject;
  1343. TActivityTypeeventsItem.RegisterObject;
  1344. TActivityTypeid.RegisterObject;
  1345. TActivity.RegisterObject;
  1346. TChannelTypeparams.RegisterObject;
  1347. TChannel.RegisterObject;
  1348. TUsageReportTypeentity.RegisterObject;
  1349. TUsageReportTypeparametersItemTypemsgValueItem.RegisterObject;
  1350. TUsageReportTypeparametersItem.RegisterObject;
  1351. TUsageReport.RegisterObject;
  1352. TUsageReportsTypewarningsItemTypedataItem.RegisterObject;
  1353. TUsageReportsTypewarningsItem.RegisterObject;
  1354. TUsageReports.RegisterObject;
  1355. end;
  1356. Function TAdminAPI.GetActivitiesInstance : TActivitiesResource;
  1357. begin
  1358. if (FActivitiesInstance=Nil) then
  1359. FActivitiesInstance:=CreateActivitiesResource;
  1360. Result:=FActivitiesInstance;
  1361. end;
  1362. Function TAdminAPI.CreateActivitiesResource : TActivitiesResource;
  1363. begin
  1364. Result:=CreateActivitiesResource(Self);
  1365. end;
  1366. Function TAdminAPI.CreateActivitiesResource(AOwner : TComponent) : TActivitiesResource;
  1367. begin
  1368. Result:=TActivitiesResource.Create(AOwner);
  1369. Result.API:=Self.API;
  1370. end;
  1371. Function TAdminAPI.GetChannelsInstance : TChannelsResource;
  1372. begin
  1373. if (FChannelsInstance=Nil) then
  1374. FChannelsInstance:=CreateChannelsResource;
  1375. Result:=FChannelsInstance;
  1376. end;
  1377. Function TAdminAPI.CreateChannelsResource : TChannelsResource;
  1378. begin
  1379. Result:=CreateChannelsResource(Self);
  1380. end;
  1381. Function TAdminAPI.CreateChannelsResource(AOwner : TComponent) : TChannelsResource;
  1382. begin
  1383. Result:=TChannelsResource.Create(AOwner);
  1384. Result.API:=Self.API;
  1385. end;
  1386. Function TAdminAPI.GetCustomerUsageReportsInstance : TCustomerUsageReportsResource;
  1387. begin
  1388. if (FCustomerUsageReportsInstance=Nil) then
  1389. FCustomerUsageReportsInstance:=CreateCustomerUsageReportsResource;
  1390. Result:=FCustomerUsageReportsInstance;
  1391. end;
  1392. Function TAdminAPI.CreateCustomerUsageReportsResource : TCustomerUsageReportsResource;
  1393. begin
  1394. Result:=CreateCustomerUsageReportsResource(Self);
  1395. end;
  1396. Function TAdminAPI.CreateCustomerUsageReportsResource(AOwner : TComponent) : TCustomerUsageReportsResource;
  1397. begin
  1398. Result:=TCustomerUsageReportsResource.Create(AOwner);
  1399. Result.API:=Self.API;
  1400. end;
  1401. Function TAdminAPI.GetUserUsageReportInstance : TUserUsageReportResource;
  1402. begin
  1403. if (FUserUsageReportInstance=Nil) then
  1404. FUserUsageReportInstance:=CreateUserUsageReportResource;
  1405. Result:=FUserUsageReportInstance;
  1406. end;
  1407. Function TAdminAPI.CreateUserUsageReportResource : TUserUsageReportResource;
  1408. begin
  1409. Result:=CreateUserUsageReportResource(Self);
  1410. end;
  1411. Function TAdminAPI.CreateUserUsageReportResource(AOwner : TComponent) : TUserUsageReportResource;
  1412. begin
  1413. Result:=TUserUsageReportResource.Create(AOwner);
  1414. Result.API:=Self.API;
  1415. end;
  1416. initialization
  1417. TAdminAPI.RegisterAPI;
  1418. end.