googleadmin.pp 54 KB

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