googlegmail.pp 91 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332
  1. unit googlegmail;
  2. {$MODE objfpc}
  3. {$H+}
  4. interface
  5. uses sysutils, classes, googleservice, restbase, googlebase;
  6. type
  7. //Top-level schema types
  8. TBatchDeleteMessagesRequest = Class;
  9. TDraft = Class;
  10. THistory = Class;
  11. THistoryLabelAdded = Class;
  12. THistoryLabelRemoved = Class;
  13. THistoryMessageAdded = Class;
  14. THistoryMessageDeleted = Class;
  15. TLabel = Class;
  16. TListDraftsResponse = Class;
  17. TListHistoryResponse = Class;
  18. TListLabelsResponse = Class;
  19. TListMessagesResponse = Class;
  20. TListThreadsResponse = Class;
  21. TMessage = Class;
  22. TMessagePart = Class;
  23. TMessagePartBody = Class;
  24. TMessagePartHeader = Class;
  25. TModifyMessageRequest = Class;
  26. TModifyThreadRequest = Class;
  27. TProfile = Class;
  28. TThread = Class;
  29. TWatchRequest = Class;
  30. TWatchResponse = Class;
  31. TBatchDeleteMessagesRequestArray = Array of TBatchDeleteMessagesRequest;
  32. TDraftArray = Array of TDraft;
  33. THistoryArray = Array of THistory;
  34. THistoryLabelAddedArray = Array of THistoryLabelAdded;
  35. THistoryLabelRemovedArray = Array of THistoryLabelRemoved;
  36. THistoryMessageAddedArray = Array of THistoryMessageAdded;
  37. THistoryMessageDeletedArray = Array of THistoryMessageDeleted;
  38. TLabelArray = Array of TLabel;
  39. TListDraftsResponseArray = Array of TListDraftsResponse;
  40. TListHistoryResponseArray = Array of TListHistoryResponse;
  41. TListLabelsResponseArray = Array of TListLabelsResponse;
  42. TListMessagesResponseArray = Array of TListMessagesResponse;
  43. TListThreadsResponseArray = Array of TListThreadsResponse;
  44. TMessageArray = Array of TMessage;
  45. TMessagePartArray = Array of TMessagePart;
  46. TMessagePartBodyArray = Array of TMessagePartBody;
  47. TMessagePartHeaderArray = Array of TMessagePartHeader;
  48. TModifyMessageRequestArray = Array of TModifyMessageRequest;
  49. TModifyThreadRequestArray = Array of TModifyThreadRequest;
  50. TProfileArray = Array of TProfile;
  51. TThreadArray = Array of TThread;
  52. TWatchRequestArray = Array of TWatchRequest;
  53. TWatchResponseArray = Array of TWatchResponse;
  54. //Anonymous types, using auto-generated names
  55. THistoryTypelabelsAddedArray = Array of THistoryLabelAdded;
  56. THistoryTypelabelsRemovedArray = Array of THistoryLabelRemoved;
  57. THistoryTypemessagesArray = Array of TMessage;
  58. THistoryTypemessagesAddedArray = Array of THistoryMessageAdded;
  59. THistoryTypemessagesDeletedArray = Array of THistoryMessageDeleted;
  60. TListDraftsResponseTypedraftsArray = Array of TDraft;
  61. TListHistoryResponseTypehistoryArray = Array of THistory;
  62. TListLabelsResponseTypelabelsArray = Array of TLabel;
  63. TListMessagesResponseTypemessagesArray = Array of TMessage;
  64. TListThreadsResponseTypethreadsArray = Array of TThread;
  65. TMessagePartTypeheadersArray = Array of TMessagePartHeader;
  66. TMessagePartTypepartsArray = Array of TMessagePart;
  67. TThreadTypemessagesArray = Array of TMessage;
  68. { --------------------------------------------------------------------
  69. TBatchDeleteMessagesRequest
  70. --------------------------------------------------------------------}
  71. TBatchDeleteMessagesRequest = Class(TGoogleBaseObject)
  72. Private
  73. Fids : TStringArray;
  74. Protected
  75. //Property setters
  76. Procedure Setids(AIndex : Integer; const AValue : TStringArray); virtual;
  77. //2.6.4. bug workaround
  78. {$IFDEF VER2_6}
  79. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  80. {$ENDIF VER2_6}
  81. Public
  82. Published
  83. Property ids : TStringArray Index 0 Read Fids Write Setids;
  84. end;
  85. TBatchDeleteMessagesRequestClass = Class of TBatchDeleteMessagesRequest;
  86. { --------------------------------------------------------------------
  87. TDraft
  88. --------------------------------------------------------------------}
  89. TDraft = Class(TGoogleBaseObject)
  90. Private
  91. Fid : String;
  92. Fmessage : TMessage;
  93. Protected
  94. //Property setters
  95. Procedure Setid(AIndex : Integer; const AValue : String); virtual;
  96. Procedure Setmessage(AIndex : Integer; const AValue : TMessage); virtual;
  97. Public
  98. Published
  99. Property id : String Index 0 Read Fid Write Setid;
  100. Property message : TMessage Index 8 Read Fmessage Write Setmessage;
  101. end;
  102. TDraftClass = Class of TDraft;
  103. { --------------------------------------------------------------------
  104. THistory
  105. --------------------------------------------------------------------}
  106. THistory = Class(TGoogleBaseObject)
  107. Private
  108. Fid : String;
  109. FlabelsAdded : THistoryTypelabelsAddedArray;
  110. FlabelsRemoved : THistoryTypelabelsRemovedArray;
  111. Fmessages : THistoryTypemessagesArray;
  112. FmessagesAdded : THistoryTypemessagesAddedArray;
  113. FmessagesDeleted : THistoryTypemessagesDeletedArray;
  114. Protected
  115. //Property setters
  116. Procedure Setid(AIndex : Integer; const AValue : String); virtual;
  117. Procedure SetlabelsAdded(AIndex : Integer; const AValue : THistoryTypelabelsAddedArray); virtual;
  118. Procedure SetlabelsRemoved(AIndex : Integer; const AValue : THistoryTypelabelsRemovedArray); virtual;
  119. Procedure Setmessages(AIndex : Integer; const AValue : THistoryTypemessagesArray); virtual;
  120. Procedure SetmessagesAdded(AIndex : Integer; const AValue : THistoryTypemessagesAddedArray); virtual;
  121. Procedure SetmessagesDeleted(AIndex : Integer; const AValue : THistoryTypemessagesDeletedArray); virtual;
  122. //2.6.4. bug workaround
  123. {$IFDEF VER2_6}
  124. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  125. {$ENDIF VER2_6}
  126. Public
  127. Published
  128. Property id : String Index 0 Read Fid Write Setid;
  129. Property labelsAdded : THistoryTypelabelsAddedArray Index 8 Read FlabelsAdded Write SetlabelsAdded;
  130. Property labelsRemoved : THistoryTypelabelsRemovedArray Index 16 Read FlabelsRemoved Write SetlabelsRemoved;
  131. Property messages : THistoryTypemessagesArray Index 24 Read Fmessages Write Setmessages;
  132. Property messagesAdded : THistoryTypemessagesAddedArray Index 32 Read FmessagesAdded Write SetmessagesAdded;
  133. Property messagesDeleted : THistoryTypemessagesDeletedArray Index 40 Read FmessagesDeleted Write SetmessagesDeleted;
  134. end;
  135. THistoryClass = Class of THistory;
  136. { --------------------------------------------------------------------
  137. THistoryLabelAdded
  138. --------------------------------------------------------------------}
  139. THistoryLabelAdded = Class(TGoogleBaseObject)
  140. Private
  141. FlabelIds : TStringArray;
  142. Fmessage : TMessage;
  143. Protected
  144. //Property setters
  145. Procedure SetlabelIds(AIndex : Integer; const AValue : TStringArray); virtual;
  146. Procedure Setmessage(AIndex : Integer; const AValue : TMessage); virtual;
  147. //2.6.4. bug workaround
  148. {$IFDEF VER2_6}
  149. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  150. {$ENDIF VER2_6}
  151. Public
  152. Published
  153. Property labelIds : TStringArray Index 0 Read FlabelIds Write SetlabelIds;
  154. Property message : TMessage Index 8 Read Fmessage Write Setmessage;
  155. end;
  156. THistoryLabelAddedClass = Class of THistoryLabelAdded;
  157. { --------------------------------------------------------------------
  158. THistoryLabelRemoved
  159. --------------------------------------------------------------------}
  160. THistoryLabelRemoved = Class(TGoogleBaseObject)
  161. Private
  162. FlabelIds : TStringArray;
  163. Fmessage : TMessage;
  164. Protected
  165. //Property setters
  166. Procedure SetlabelIds(AIndex : Integer; const AValue : TStringArray); virtual;
  167. Procedure Setmessage(AIndex : Integer; const AValue : TMessage); virtual;
  168. //2.6.4. bug workaround
  169. {$IFDEF VER2_6}
  170. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  171. {$ENDIF VER2_6}
  172. Public
  173. Published
  174. Property labelIds : TStringArray Index 0 Read FlabelIds Write SetlabelIds;
  175. Property message : TMessage Index 8 Read Fmessage Write Setmessage;
  176. end;
  177. THistoryLabelRemovedClass = Class of THistoryLabelRemoved;
  178. { --------------------------------------------------------------------
  179. THistoryMessageAdded
  180. --------------------------------------------------------------------}
  181. THistoryMessageAdded = Class(TGoogleBaseObject)
  182. Private
  183. Fmessage : TMessage;
  184. Protected
  185. //Property setters
  186. Procedure Setmessage(AIndex : Integer; const AValue : TMessage); virtual;
  187. Public
  188. Published
  189. Property message : TMessage Index 0 Read Fmessage Write Setmessage;
  190. end;
  191. THistoryMessageAddedClass = Class of THistoryMessageAdded;
  192. { --------------------------------------------------------------------
  193. THistoryMessageDeleted
  194. --------------------------------------------------------------------}
  195. THistoryMessageDeleted = Class(TGoogleBaseObject)
  196. Private
  197. Fmessage : TMessage;
  198. Protected
  199. //Property setters
  200. Procedure Setmessage(AIndex : Integer; const AValue : TMessage); virtual;
  201. Public
  202. Published
  203. Property message : TMessage Index 0 Read Fmessage Write Setmessage;
  204. end;
  205. THistoryMessageDeletedClass = Class of THistoryMessageDeleted;
  206. { --------------------------------------------------------------------
  207. TLabel
  208. --------------------------------------------------------------------}
  209. TLabel = Class(TGoogleBaseObject)
  210. Private
  211. Fid : String;
  212. FlabelListVisibility : String;
  213. FmessageListVisibility : String;
  214. FmessagesTotal : integer;
  215. FmessagesUnread : integer;
  216. Fname : String;
  217. FthreadsTotal : integer;
  218. FthreadsUnread : integer;
  219. F_type : String;
  220. Protected
  221. Class Function ExportPropertyName(Const AName : String) : string; override;
  222. //Property setters
  223. Procedure Setid(AIndex : Integer; const AValue : String); virtual;
  224. Procedure SetlabelListVisibility(AIndex : Integer; const AValue : String); virtual;
  225. Procedure SetmessageListVisibility(AIndex : Integer; const AValue : String); virtual;
  226. Procedure SetmessagesTotal(AIndex : Integer; const AValue : integer); virtual;
  227. Procedure SetmessagesUnread(AIndex : Integer; const AValue : integer); virtual;
  228. Procedure Setname(AIndex : Integer; const AValue : String); virtual;
  229. Procedure SetthreadsTotal(AIndex : Integer; const AValue : integer); virtual;
  230. Procedure SetthreadsUnread(AIndex : Integer; const AValue : integer); virtual;
  231. Procedure Set_type(AIndex : Integer; const AValue : String); virtual;
  232. Public
  233. Published
  234. Property id : String Index 0 Read Fid Write Setid;
  235. Property labelListVisibility : String Index 8 Read FlabelListVisibility Write SetlabelListVisibility;
  236. Property messageListVisibility : String Index 16 Read FmessageListVisibility Write SetmessageListVisibility;
  237. Property messagesTotal : integer Index 24 Read FmessagesTotal Write SetmessagesTotal;
  238. Property messagesUnread : integer Index 32 Read FmessagesUnread Write SetmessagesUnread;
  239. Property name : String Index 40 Read Fname Write Setname;
  240. Property threadsTotal : integer Index 48 Read FthreadsTotal Write SetthreadsTotal;
  241. Property threadsUnread : integer Index 56 Read FthreadsUnread Write SetthreadsUnread;
  242. Property _type : String Index 64 Read F_type Write Set_type;
  243. end;
  244. TLabelClass = Class of TLabel;
  245. { --------------------------------------------------------------------
  246. TListDraftsResponse
  247. --------------------------------------------------------------------}
  248. TListDraftsResponse = Class(TGoogleBaseObject)
  249. Private
  250. Fdrafts : TListDraftsResponseTypedraftsArray;
  251. FnextPageToken : String;
  252. FresultSizeEstimate : integer;
  253. Protected
  254. //Property setters
  255. Procedure Setdrafts(AIndex : Integer; const AValue : TListDraftsResponseTypedraftsArray); virtual;
  256. Procedure SetnextPageToken(AIndex : Integer; const AValue : String); virtual;
  257. Procedure SetresultSizeEstimate(AIndex : Integer; const AValue : integer); virtual;
  258. //2.6.4. bug workaround
  259. {$IFDEF VER2_6}
  260. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  261. {$ENDIF VER2_6}
  262. Public
  263. Published
  264. Property drafts : TListDraftsResponseTypedraftsArray Index 0 Read Fdrafts Write Setdrafts;
  265. Property nextPageToken : String Index 8 Read FnextPageToken Write SetnextPageToken;
  266. Property resultSizeEstimate : integer Index 16 Read FresultSizeEstimate Write SetresultSizeEstimate;
  267. end;
  268. TListDraftsResponseClass = Class of TListDraftsResponse;
  269. { --------------------------------------------------------------------
  270. TListHistoryResponse
  271. --------------------------------------------------------------------}
  272. TListHistoryResponse = Class(TGoogleBaseObject)
  273. Private
  274. Fhistory : TListHistoryResponseTypehistoryArray;
  275. FhistoryId : String;
  276. FnextPageToken : String;
  277. Protected
  278. //Property setters
  279. Procedure Sethistory(AIndex : Integer; const AValue : TListHistoryResponseTypehistoryArray); virtual;
  280. Procedure SethistoryId(AIndex : Integer; const AValue : String); virtual;
  281. Procedure SetnextPageToken(AIndex : Integer; const AValue : String); virtual;
  282. //2.6.4. bug workaround
  283. {$IFDEF VER2_6}
  284. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  285. {$ENDIF VER2_6}
  286. Public
  287. Published
  288. Property history : TListHistoryResponseTypehistoryArray Index 0 Read Fhistory Write Sethistory;
  289. Property historyId : String Index 8 Read FhistoryId Write SethistoryId;
  290. Property nextPageToken : String Index 16 Read FnextPageToken Write SetnextPageToken;
  291. end;
  292. TListHistoryResponseClass = Class of TListHistoryResponse;
  293. { --------------------------------------------------------------------
  294. TListLabelsResponse
  295. --------------------------------------------------------------------}
  296. TListLabelsResponse = Class(TGoogleBaseObject)
  297. Private
  298. Flabels : TListLabelsResponseTypelabelsArray;
  299. Protected
  300. //Property setters
  301. Procedure Setlabels(AIndex : Integer; const AValue : TListLabelsResponseTypelabelsArray); virtual;
  302. //2.6.4. bug workaround
  303. {$IFDEF VER2_6}
  304. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  305. {$ENDIF VER2_6}
  306. Public
  307. Published
  308. Property labels : TListLabelsResponseTypelabelsArray Index 0 Read Flabels Write Setlabels;
  309. end;
  310. TListLabelsResponseClass = Class of TListLabelsResponse;
  311. { --------------------------------------------------------------------
  312. TListMessagesResponse
  313. --------------------------------------------------------------------}
  314. TListMessagesResponse = Class(TGoogleBaseObject)
  315. Private
  316. Fmessages : TListMessagesResponseTypemessagesArray;
  317. FnextPageToken : String;
  318. FresultSizeEstimate : integer;
  319. Protected
  320. //Property setters
  321. Procedure Setmessages(AIndex : Integer; const AValue : TListMessagesResponseTypemessagesArray); virtual;
  322. Procedure SetnextPageToken(AIndex : Integer; const AValue : String); virtual;
  323. Procedure SetresultSizeEstimate(AIndex : Integer; const AValue : integer); virtual;
  324. //2.6.4. bug workaround
  325. {$IFDEF VER2_6}
  326. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  327. {$ENDIF VER2_6}
  328. Public
  329. Published
  330. Property messages : TListMessagesResponseTypemessagesArray Index 0 Read Fmessages Write Setmessages;
  331. Property nextPageToken : String Index 8 Read FnextPageToken Write SetnextPageToken;
  332. Property resultSizeEstimate : integer Index 16 Read FresultSizeEstimate Write SetresultSizeEstimate;
  333. end;
  334. TListMessagesResponseClass = Class of TListMessagesResponse;
  335. { --------------------------------------------------------------------
  336. TListThreadsResponse
  337. --------------------------------------------------------------------}
  338. TListThreadsResponse = Class(TGoogleBaseObject)
  339. Private
  340. FnextPageToken : String;
  341. FresultSizeEstimate : integer;
  342. Fthreads : TListThreadsResponseTypethreadsArray;
  343. Protected
  344. //Property setters
  345. Procedure SetnextPageToken(AIndex : Integer; const AValue : String); virtual;
  346. Procedure SetresultSizeEstimate(AIndex : Integer; const AValue : integer); virtual;
  347. Procedure Setthreads(AIndex : Integer; const AValue : TListThreadsResponseTypethreadsArray); virtual;
  348. //2.6.4. bug workaround
  349. {$IFDEF VER2_6}
  350. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  351. {$ENDIF VER2_6}
  352. Public
  353. Published
  354. Property nextPageToken : String Index 0 Read FnextPageToken Write SetnextPageToken;
  355. Property resultSizeEstimate : integer Index 8 Read FresultSizeEstimate Write SetresultSizeEstimate;
  356. Property threads : TListThreadsResponseTypethreadsArray Index 16 Read Fthreads Write Setthreads;
  357. end;
  358. TListThreadsResponseClass = Class of TListThreadsResponse;
  359. { --------------------------------------------------------------------
  360. TMessage
  361. --------------------------------------------------------------------}
  362. TMessage = Class(TGoogleBaseObject)
  363. Private
  364. FhistoryId : String;
  365. Fid : String;
  366. FinternalDate : String;
  367. FlabelIds : TStringArray;
  368. Fpayload : TMessagePart;
  369. Fraw : String;
  370. FsizeEstimate : integer;
  371. Fsnippet : String;
  372. FthreadId : String;
  373. Protected
  374. //Property setters
  375. Procedure SethistoryId(AIndex : Integer; const AValue : String); virtual;
  376. Procedure Setid(AIndex : Integer; const AValue : String); virtual;
  377. Procedure SetinternalDate(AIndex : Integer; const AValue : String); virtual;
  378. Procedure SetlabelIds(AIndex : Integer; const AValue : TStringArray); virtual;
  379. Procedure Setpayload(AIndex : Integer; const AValue : TMessagePart); virtual;
  380. Procedure Setraw(AIndex : Integer; const AValue : String); virtual;
  381. Procedure SetsizeEstimate(AIndex : Integer; const AValue : integer); virtual;
  382. Procedure Setsnippet(AIndex : Integer; const AValue : String); virtual;
  383. Procedure SetthreadId(AIndex : Integer; const AValue : String); virtual;
  384. //2.6.4. bug workaround
  385. {$IFDEF VER2_6}
  386. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  387. {$ENDIF VER2_6}
  388. Public
  389. Published
  390. Property historyId : String Index 0 Read FhistoryId Write SethistoryId;
  391. Property id : String Index 8 Read Fid Write Setid;
  392. Property internalDate : String Index 16 Read FinternalDate Write SetinternalDate;
  393. Property labelIds : TStringArray Index 24 Read FlabelIds Write SetlabelIds;
  394. Property payload : TMessagePart Index 32 Read Fpayload Write Setpayload;
  395. Property raw : String Index 40 Read Fraw Write Setraw;
  396. Property sizeEstimate : integer Index 48 Read FsizeEstimate Write SetsizeEstimate;
  397. Property snippet : String Index 56 Read Fsnippet Write Setsnippet;
  398. Property threadId : String Index 64 Read FthreadId Write SetthreadId;
  399. end;
  400. TMessageClass = Class of TMessage;
  401. { --------------------------------------------------------------------
  402. TMessagePart
  403. --------------------------------------------------------------------}
  404. TMessagePart = Class(TGoogleBaseObject)
  405. Private
  406. Fbody : TMessagePartBody;
  407. Ffilename : String;
  408. Fheaders : TMessagePartTypeheadersArray;
  409. FmimeType : String;
  410. FpartId : String;
  411. Fparts : TMessagePartTypepartsArray;
  412. Protected
  413. //Property setters
  414. Procedure Setbody(AIndex : Integer; const AValue : TMessagePartBody); virtual;
  415. Procedure Setfilename(AIndex : Integer; const AValue : String); virtual;
  416. Procedure Setheaders(AIndex : Integer; const AValue : TMessagePartTypeheadersArray); virtual;
  417. Procedure SetmimeType(AIndex : Integer; const AValue : String); virtual;
  418. Procedure SetpartId(AIndex : Integer; const AValue : String); virtual;
  419. Procedure Setparts(AIndex : Integer; const AValue : TMessagePartTypepartsArray); virtual;
  420. //2.6.4. bug workaround
  421. {$IFDEF VER2_6}
  422. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  423. {$ENDIF VER2_6}
  424. Public
  425. Published
  426. Property body : TMessagePartBody Index 0 Read Fbody Write Setbody;
  427. Property filename : String Index 8 Read Ffilename Write Setfilename;
  428. Property headers : TMessagePartTypeheadersArray Index 16 Read Fheaders Write Setheaders;
  429. Property mimeType : String Index 24 Read FmimeType Write SetmimeType;
  430. Property partId : String Index 32 Read FpartId Write SetpartId;
  431. Property parts : TMessagePartTypepartsArray Index 40 Read Fparts Write Setparts;
  432. end;
  433. TMessagePartClass = Class of TMessagePart;
  434. { --------------------------------------------------------------------
  435. TMessagePartBody
  436. --------------------------------------------------------------------}
  437. TMessagePartBody = Class(TGoogleBaseObject)
  438. Private
  439. FattachmentId : String;
  440. Fdata : String;
  441. Fsize : integer;
  442. Protected
  443. //Property setters
  444. Procedure SetattachmentId(AIndex : Integer; const AValue : String); virtual;
  445. Procedure Setdata(AIndex : Integer; const AValue : String); virtual;
  446. Procedure Setsize(AIndex : Integer; const AValue : integer); virtual;
  447. Public
  448. Published
  449. Property attachmentId : String Index 0 Read FattachmentId Write SetattachmentId;
  450. Property data : String Index 8 Read Fdata Write Setdata;
  451. Property size : integer Index 16 Read Fsize Write Setsize;
  452. end;
  453. TMessagePartBodyClass = Class of TMessagePartBody;
  454. { --------------------------------------------------------------------
  455. TMessagePartHeader
  456. --------------------------------------------------------------------}
  457. TMessagePartHeader = Class(TGoogleBaseObject)
  458. Private
  459. Fname : String;
  460. Fvalue : String;
  461. Protected
  462. //Property setters
  463. Procedure Setname(AIndex : Integer; const AValue : String); virtual;
  464. Procedure Setvalue(AIndex : Integer; const AValue : String); virtual;
  465. Public
  466. Published
  467. Property name : String Index 0 Read Fname Write Setname;
  468. Property value : String Index 8 Read Fvalue Write Setvalue;
  469. end;
  470. TMessagePartHeaderClass = Class of TMessagePartHeader;
  471. { --------------------------------------------------------------------
  472. TModifyMessageRequest
  473. --------------------------------------------------------------------}
  474. TModifyMessageRequest = Class(TGoogleBaseObject)
  475. Private
  476. FaddLabelIds : TStringArray;
  477. FremoveLabelIds : TStringArray;
  478. Protected
  479. //Property setters
  480. Procedure SetaddLabelIds(AIndex : Integer; const AValue : TStringArray); virtual;
  481. Procedure SetremoveLabelIds(AIndex : Integer; const AValue : TStringArray); virtual;
  482. //2.6.4. bug workaround
  483. {$IFDEF VER2_6}
  484. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  485. {$ENDIF VER2_6}
  486. Public
  487. Published
  488. Property addLabelIds : TStringArray Index 0 Read FaddLabelIds Write SetaddLabelIds;
  489. Property removeLabelIds : TStringArray Index 8 Read FremoveLabelIds Write SetremoveLabelIds;
  490. end;
  491. TModifyMessageRequestClass = Class of TModifyMessageRequest;
  492. { --------------------------------------------------------------------
  493. TModifyThreadRequest
  494. --------------------------------------------------------------------}
  495. TModifyThreadRequest = Class(TGoogleBaseObject)
  496. Private
  497. FaddLabelIds : TStringArray;
  498. FremoveLabelIds : TStringArray;
  499. Protected
  500. //Property setters
  501. Procedure SetaddLabelIds(AIndex : Integer; const AValue : TStringArray); virtual;
  502. Procedure SetremoveLabelIds(AIndex : Integer; const AValue : TStringArray); virtual;
  503. //2.6.4. bug workaround
  504. {$IFDEF VER2_6}
  505. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  506. {$ENDIF VER2_6}
  507. Public
  508. Published
  509. Property addLabelIds : TStringArray Index 0 Read FaddLabelIds Write SetaddLabelIds;
  510. Property removeLabelIds : TStringArray Index 8 Read FremoveLabelIds Write SetremoveLabelIds;
  511. end;
  512. TModifyThreadRequestClass = Class of TModifyThreadRequest;
  513. { --------------------------------------------------------------------
  514. TProfile
  515. --------------------------------------------------------------------}
  516. TProfile = Class(TGoogleBaseObject)
  517. Private
  518. FemailAddress : String;
  519. FhistoryId : String;
  520. FmessagesTotal : integer;
  521. FthreadsTotal : integer;
  522. Protected
  523. //Property setters
  524. Procedure SetemailAddress(AIndex : Integer; const AValue : String); virtual;
  525. Procedure SethistoryId(AIndex : Integer; const AValue : String); virtual;
  526. Procedure SetmessagesTotal(AIndex : Integer; const AValue : integer); virtual;
  527. Procedure SetthreadsTotal(AIndex : Integer; const AValue : integer); virtual;
  528. Public
  529. Published
  530. Property emailAddress : String Index 0 Read FemailAddress Write SetemailAddress;
  531. Property historyId : String Index 8 Read FhistoryId Write SethistoryId;
  532. Property messagesTotal : integer Index 16 Read FmessagesTotal Write SetmessagesTotal;
  533. Property threadsTotal : integer Index 24 Read FthreadsTotal Write SetthreadsTotal;
  534. end;
  535. TProfileClass = Class of TProfile;
  536. { --------------------------------------------------------------------
  537. TThread
  538. --------------------------------------------------------------------}
  539. TThread = Class(TGoogleBaseObject)
  540. Private
  541. FhistoryId : String;
  542. Fid : String;
  543. Fmessages : TThreadTypemessagesArray;
  544. Fsnippet : String;
  545. Protected
  546. //Property setters
  547. Procedure SethistoryId(AIndex : Integer; const AValue : String); virtual;
  548. Procedure Setid(AIndex : Integer; const AValue : String); virtual;
  549. Procedure Setmessages(AIndex : Integer; const AValue : TThreadTypemessagesArray); virtual;
  550. Procedure Setsnippet(AIndex : Integer; const AValue : String); virtual;
  551. //2.6.4. bug workaround
  552. {$IFDEF VER2_6}
  553. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  554. {$ENDIF VER2_6}
  555. Public
  556. Published
  557. Property historyId : String Index 0 Read FhistoryId Write SethistoryId;
  558. Property id : String Index 8 Read Fid Write Setid;
  559. Property messages : TThreadTypemessagesArray Index 16 Read Fmessages Write Setmessages;
  560. Property snippet : String Index 24 Read Fsnippet Write Setsnippet;
  561. end;
  562. TThreadClass = Class of TThread;
  563. { --------------------------------------------------------------------
  564. TWatchRequest
  565. --------------------------------------------------------------------}
  566. TWatchRequest = Class(TGoogleBaseObject)
  567. Private
  568. FlabelFilterAction : String;
  569. FlabelIds : TStringArray;
  570. FtopicName : String;
  571. Protected
  572. //Property setters
  573. Procedure SetlabelFilterAction(AIndex : Integer; const AValue : String); virtual;
  574. Procedure SetlabelIds(AIndex : Integer; const AValue : TStringArray); virtual;
  575. Procedure SettopicName(AIndex : Integer; const AValue : String); virtual;
  576. //2.6.4. bug workaround
  577. {$IFDEF VER2_6}
  578. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  579. {$ENDIF VER2_6}
  580. Public
  581. Published
  582. Property labelFilterAction : String Index 0 Read FlabelFilterAction Write SetlabelFilterAction;
  583. Property labelIds : TStringArray Index 8 Read FlabelIds Write SetlabelIds;
  584. Property topicName : String Index 16 Read FtopicName Write SettopicName;
  585. end;
  586. TWatchRequestClass = Class of TWatchRequest;
  587. { --------------------------------------------------------------------
  588. TWatchResponse
  589. --------------------------------------------------------------------}
  590. TWatchResponse = Class(TGoogleBaseObject)
  591. Private
  592. Fexpiration : String;
  593. FhistoryId : String;
  594. Protected
  595. //Property setters
  596. Procedure Setexpiration(AIndex : Integer; const AValue : String); virtual;
  597. Procedure SethistoryId(AIndex : Integer; const AValue : String); virtual;
  598. Public
  599. Published
  600. Property expiration : String Index 0 Read Fexpiration Write Setexpiration;
  601. Property historyId : String Index 8 Read FhistoryId Write SethistoryId;
  602. end;
  603. TWatchResponseClass = Class of TWatchResponse;
  604. { --------------------------------------------------------------------
  605. TUsersDraftsResource
  606. --------------------------------------------------------------------}
  607. //Optional query Options for TUsersDraftsResource, method Get
  608. TUsersDraftsGetOptions = Record
  609. format : String;
  610. end;
  611. //Optional query Options for TUsersDraftsResource, method List
  612. TUsersDraftsListOptions = Record
  613. includeSpamTrash : boolean;
  614. maxResults : integer;
  615. pageToken : String;
  616. end;
  617. TUsersDraftsResource = Class(TGoogleResource)
  618. Public
  619. Class Function ResourceName : String; override;
  620. Class Function DefaultAPI : TGoogleAPIClass; override;
  621. Function Create(userId: string; aDraft : TDraft) : TDraft;overload;
  622. Procedure Delete(id: string; userId: string);
  623. Function Get(id: string; userId: string; AQuery : string = '') : TDraft;
  624. Function Get(id: string; userId: string; AQuery : TUsersDraftsgetOptions) : TDraft;
  625. Function List(userId: string; AQuery : string = '') : TListDraftsResponse;
  626. Function List(userId: string; AQuery : TUsersDraftslistOptions) : TListDraftsResponse;
  627. Function Send(userId: string; aDraft : TDraft) : TMessage;
  628. Function Update(id: string; userId: string; aDraft : TDraft) : TDraft;
  629. end;
  630. { --------------------------------------------------------------------
  631. TUsersHistoryResource
  632. --------------------------------------------------------------------}
  633. //Optional query Options for TUsersHistoryResource, method List
  634. TUsersHistoryListOptions = Record
  635. labelId : String;
  636. maxResults : integer;
  637. pageToken : String;
  638. startHistoryId : String;
  639. end;
  640. TUsersHistoryResource = Class(TGoogleResource)
  641. Public
  642. Class Function ResourceName : String; override;
  643. Class Function DefaultAPI : TGoogleAPIClass; override;
  644. Function List(userId: string; AQuery : string = '') : TListHistoryResponse;
  645. Function List(userId: string; AQuery : TUsersHistorylistOptions) : TListHistoryResponse;
  646. end;
  647. { --------------------------------------------------------------------
  648. TUsersLabelsResource
  649. --------------------------------------------------------------------}
  650. TUsersLabelsResource = Class(TGoogleResource)
  651. Public
  652. Class Function ResourceName : String; override;
  653. Class Function DefaultAPI : TGoogleAPIClass; override;
  654. Function Create(userId: string; aLabel : TLabel) : TLabel;overload;
  655. Procedure Delete(id: string; userId: string);
  656. Function Get(id: string; userId: string) : TLabel;
  657. Function List(userId: string) : TListLabelsResponse;
  658. Function Patch(id: string; userId: string; aLabel : TLabel) : TLabel;
  659. Function Update(id: string; userId: string; aLabel : TLabel) : TLabel;
  660. end;
  661. { --------------------------------------------------------------------
  662. TUsersMessagesAttachmentsResource
  663. --------------------------------------------------------------------}
  664. TUsersMessagesAttachmentsResource = Class(TGoogleResource)
  665. Public
  666. Class Function ResourceName : String; override;
  667. Class Function DefaultAPI : TGoogleAPIClass; override;
  668. Function Get(id: string; messageId: string; userId: string) : TMessagePartBody;
  669. end;
  670. { --------------------------------------------------------------------
  671. TUsersMessagesResource
  672. --------------------------------------------------------------------}
  673. //Optional query Options for TUsersMessagesResource, method Get
  674. TUsersMessagesGetOptions = Record
  675. format : String;
  676. metadataHeaders : String;
  677. end;
  678. //Optional query Options for TUsersMessagesResource, method Import
  679. TUsersMessagesImportOptions = Record
  680. deleted : boolean;
  681. internalDateSource : String;
  682. neverMarkSpam : boolean;
  683. processForCalendar : boolean;
  684. end;
  685. //Optional query Options for TUsersMessagesResource, method Insert
  686. TUsersMessagesInsertOptions = Record
  687. deleted : boolean;
  688. internalDateSource : String;
  689. end;
  690. //Optional query Options for TUsersMessagesResource, method List
  691. TUsersMessagesListOptions = Record
  692. includeSpamTrash : boolean;
  693. labelIds : String;
  694. maxResults : integer;
  695. pageToken : String;
  696. q : String;
  697. end;
  698. TUsersMessagesResource = Class(TGoogleResource)
  699. Private
  700. FAttachmentsInstance : TUsersMessagesAttachmentsResource;
  701. Function GetAttachmentsInstance : TUsersMessagesAttachmentsResource;virtual;
  702. Public
  703. Class Function ResourceName : String; override;
  704. Class Function DefaultAPI : TGoogleAPIClass; override;
  705. Procedure BatchDelete(userId: string; aBatchDeleteMessagesRequest : TBatchDeleteMessagesRequest);
  706. Procedure Delete(id: string; userId: string);
  707. Function Get(id: string; userId: string; AQuery : string = '') : TMessage;
  708. Function Get(id: string; userId: string; AQuery : TUsersMessagesgetOptions) : TMessage;
  709. Function Import(userId: string; aMessage : TMessage; AQuery : string = '') : TMessage;
  710. Function Import(userId: string; aMessage : TMessage; AQuery : TUsersMessagesimportOptions) : TMessage;
  711. Function Insert(userId: string; aMessage : TMessage; AQuery : string = '') : TMessage;
  712. Function Insert(userId: string; aMessage : TMessage; AQuery : TUsersMessagesinsertOptions) : TMessage;
  713. Function List(userId: string; AQuery : string = '') : TListMessagesResponse;
  714. Function List(userId: string; AQuery : TUsersMessageslistOptions) : TListMessagesResponse;
  715. Function Modify(id: string; userId: string; aModifyMessageRequest : TModifyMessageRequest) : TMessage;
  716. Function Send(userId: string; aMessage : TMessage) : TMessage;
  717. Function Trash(id: string; userId: string) : TMessage;
  718. Function Untrash(id: string; userId: string) : TMessage;
  719. Function CreateAttachmentsResource(AOwner : TComponent) : TUsersMessagesAttachmentsResource;virtual;overload;
  720. Function CreateAttachmentsResource : TUsersMessagesAttachmentsResource;virtual;overload;
  721. Property AttachmentsResource : TUsersMessagesAttachmentsResource Read GetAttachmentsInstance;
  722. end;
  723. { --------------------------------------------------------------------
  724. TUsersThreadsResource
  725. --------------------------------------------------------------------}
  726. //Optional query Options for TUsersThreadsResource, method Get
  727. TUsersThreadsGetOptions = Record
  728. format : String;
  729. metadataHeaders : String;
  730. end;
  731. //Optional query Options for TUsersThreadsResource, method List
  732. TUsersThreadsListOptions = Record
  733. includeSpamTrash : boolean;
  734. labelIds : String;
  735. maxResults : integer;
  736. pageToken : String;
  737. q : String;
  738. end;
  739. TUsersThreadsResource = Class(TGoogleResource)
  740. Public
  741. Class Function ResourceName : String; override;
  742. Class Function DefaultAPI : TGoogleAPIClass; override;
  743. Procedure Delete(id: string; userId: string);
  744. Function Get(id: string; userId: string; AQuery : string = '') : TThread;
  745. Function Get(id: string; userId: string; AQuery : TUsersThreadsgetOptions) : TThread;
  746. Function List(userId: string; AQuery : string = '') : TListThreadsResponse;
  747. Function List(userId: string; AQuery : TUsersThreadslistOptions) : TListThreadsResponse;
  748. Function Modify(id: string; userId: string; aModifyThreadRequest : TModifyThreadRequest) : TThread;
  749. Function Trash(id: string; userId: string) : TThread;
  750. Function Untrash(id: string; userId: string) : TThread;
  751. end;
  752. { --------------------------------------------------------------------
  753. TUsersResource
  754. --------------------------------------------------------------------}
  755. TUsersResource = Class(TGoogleResource)
  756. Private
  757. FDraftsInstance : TUsersDraftsResource;
  758. FHistoryInstance : TUsersHistoryResource;
  759. FLabelsInstance : TUsersLabelsResource;
  760. FMessagesAttachmentsInstance : TUsersMessagesAttachmentsResource;
  761. FMessagesInstance : TUsersMessagesResource;
  762. FThreadsInstance : TUsersThreadsResource;
  763. Function GetDraftsInstance : TUsersDraftsResource;virtual;
  764. Function GetHistoryInstance : TUsersHistoryResource;virtual;
  765. Function GetLabelsInstance : TUsersLabelsResource;virtual;
  766. Function GetMessagesAttachmentsInstance : TUsersMessagesAttachmentsResource;virtual;
  767. Function GetMessagesInstance : TUsersMessagesResource;virtual;
  768. Function GetThreadsInstance : TUsersThreadsResource;virtual;
  769. Public
  770. Class Function ResourceName : String; override;
  771. Class Function DefaultAPI : TGoogleAPIClass; override;
  772. Function GetProfile(userId: string) : TProfile;
  773. Procedure Stop(userId: string);
  774. Function Watch(userId: string; aWatchRequest : TWatchRequest) : TWatchResponse;
  775. Function CreateDraftsResource(AOwner : TComponent) : TUsersDraftsResource;virtual;overload;
  776. Function CreateDraftsResource : TUsersDraftsResource;virtual;overload;
  777. Function CreateHistoryResource(AOwner : TComponent) : TUsersHistoryResource;virtual;overload;
  778. Function CreateHistoryResource : TUsersHistoryResource;virtual;overload;
  779. Function CreateLabelsResource(AOwner : TComponent) : TUsersLabelsResource;virtual;overload;
  780. Function CreateLabelsResource : TUsersLabelsResource;virtual;overload;
  781. Function CreateMessagesAttachmentsResource(AOwner : TComponent) : TUsersMessagesAttachmentsResource;virtual;overload;
  782. Function CreateMessagesAttachmentsResource : TUsersMessagesAttachmentsResource;virtual;overload;
  783. Function CreateMessagesResource(AOwner : TComponent) : TUsersMessagesResource;virtual;overload;
  784. Function CreateMessagesResource : TUsersMessagesResource;virtual;overload;
  785. Function CreateThreadsResource(AOwner : TComponent) : TUsersThreadsResource;virtual;overload;
  786. Function CreateThreadsResource : TUsersThreadsResource;virtual;overload;
  787. Property DraftsResource : TUsersDraftsResource Read GetDraftsInstance;
  788. Property HistoryResource : TUsersHistoryResource Read GetHistoryInstance;
  789. Property LabelsResource : TUsersLabelsResource Read GetLabelsInstance;
  790. Property MessagesAttachmentsResource : TUsersMessagesAttachmentsResource Read GetMessagesAttachmentsInstance;
  791. Property MessagesResource : TUsersMessagesResource Read GetMessagesInstance;
  792. Property ThreadsResource : TUsersThreadsResource Read GetThreadsInstance;
  793. end;
  794. { --------------------------------------------------------------------
  795. TGmailAPI
  796. --------------------------------------------------------------------}
  797. TGmailAPI = Class(TGoogleAPI)
  798. Private
  799. FUsersDraftsInstance : TUsersDraftsResource;
  800. FUsersHistoryInstance : TUsersHistoryResource;
  801. FUsersLabelsInstance : TUsersLabelsResource;
  802. FUsersMessagesAttachmentsInstance : TUsersMessagesAttachmentsResource;
  803. FUsersMessagesInstance : TUsersMessagesResource;
  804. FUsersThreadsInstance : TUsersThreadsResource;
  805. FUsersInstance : TUsersResource;
  806. Function GetUsersDraftsInstance : TUsersDraftsResource;virtual;
  807. Function GetUsersHistoryInstance : TUsersHistoryResource;virtual;
  808. Function GetUsersLabelsInstance : TUsersLabelsResource;virtual;
  809. Function GetUsersMessagesAttachmentsInstance : TUsersMessagesAttachmentsResource;virtual;
  810. Function GetUsersMessagesInstance : TUsersMessagesResource;virtual;
  811. Function GetUsersThreadsInstance : TUsersThreadsResource;virtual;
  812. Function GetUsersInstance : TUsersResource;virtual;
  813. Public
  814. //Override class functions with API info
  815. Class Function APIName : String; override;
  816. Class Function APIVersion : String; override;
  817. Class Function APIRevision : String; override;
  818. Class Function APIID : String; override;
  819. Class Function APITitle : String; override;
  820. Class Function APIDescription : String; override;
  821. Class Function APIOwnerDomain : String; override;
  822. Class Function APIOwnerName : String; override;
  823. Class Function APIIcon16 : String; override;
  824. Class Function APIIcon32 : String; override;
  825. Class Function APIdocumentationLink : String; override;
  826. Class Function APIrootUrl : string; override;
  827. Class Function APIbasePath : string;override;
  828. Class Function APIbaseURL : String;override;
  829. Class Function APIProtocol : string;override;
  830. Class Function APIservicePath : string;override;
  831. Class Function APIbatchPath : String;override;
  832. Class Function APIAuthScopes : TScopeInfoArray;override;
  833. Class Function APINeedsAuth : Boolean;override;
  834. Class Procedure RegisterAPIResources; override;
  835. //Add create function for resources
  836. Function CreateUsersDraftsResource(AOwner : TComponent) : TUsersDraftsResource;virtual;overload;
  837. Function CreateUsersDraftsResource : TUsersDraftsResource;virtual;overload;
  838. Function CreateUsersHistoryResource(AOwner : TComponent) : TUsersHistoryResource;virtual;overload;
  839. Function CreateUsersHistoryResource : TUsersHistoryResource;virtual;overload;
  840. Function CreateUsersLabelsResource(AOwner : TComponent) : TUsersLabelsResource;virtual;overload;
  841. Function CreateUsersLabelsResource : TUsersLabelsResource;virtual;overload;
  842. Function CreateUsersMessagesAttachmentsResource(AOwner : TComponent) : TUsersMessagesAttachmentsResource;virtual;overload;
  843. Function CreateUsersMessagesAttachmentsResource : TUsersMessagesAttachmentsResource;virtual;overload;
  844. Function CreateUsersMessagesResource(AOwner : TComponent) : TUsersMessagesResource;virtual;overload;
  845. Function CreateUsersMessagesResource : TUsersMessagesResource;virtual;overload;
  846. Function CreateUsersThreadsResource(AOwner : TComponent) : TUsersThreadsResource;virtual;overload;
  847. Function CreateUsersThreadsResource : TUsersThreadsResource;virtual;overload;
  848. Function CreateUsersResource(AOwner : TComponent) : TUsersResource;virtual;overload;
  849. Function CreateUsersResource : TUsersResource;virtual;overload;
  850. //Add default on-demand instances for resources
  851. Property UsersDraftsResource : TUsersDraftsResource Read GetUsersDraftsInstance;
  852. Property UsersHistoryResource : TUsersHistoryResource Read GetUsersHistoryInstance;
  853. Property UsersLabelsResource : TUsersLabelsResource Read GetUsersLabelsInstance;
  854. Property UsersMessagesAttachmentsResource : TUsersMessagesAttachmentsResource Read GetUsersMessagesAttachmentsInstance;
  855. Property UsersMessagesResource : TUsersMessagesResource Read GetUsersMessagesInstance;
  856. Property UsersThreadsResource : TUsersThreadsResource Read GetUsersThreadsInstance;
  857. Property UsersResource : TUsersResource Read GetUsersInstance;
  858. end;
  859. implementation
  860. { --------------------------------------------------------------------
  861. TBatchDeleteMessagesRequest
  862. --------------------------------------------------------------------}
  863. Procedure TBatchDeleteMessagesRequest.Setids(AIndex : Integer; const AValue : TStringArray);
  864. begin
  865. If (Fids=AValue) then exit;
  866. Fids:=AValue;
  867. MarkPropertyChanged(AIndex);
  868. end;
  869. //2.6.4. bug workaround
  870. {$IFDEF VER2_6}
  871. Procedure TBatchDeleteMessagesRequest.SetArrayLength(Const AName : String; ALength : Longint);
  872. begin
  873. Case AName of
  874. 'ids' : SetLength(Fids,ALength);
  875. else
  876. Inherited SetArrayLength(AName,ALength);
  877. end;
  878. end;
  879. {$ENDIF VER2_6}
  880. { --------------------------------------------------------------------
  881. TDraft
  882. --------------------------------------------------------------------}
  883. Procedure TDraft.Setid(AIndex : Integer; const AValue : String);
  884. begin
  885. If (Fid=AValue) then exit;
  886. Fid:=AValue;
  887. MarkPropertyChanged(AIndex);
  888. end;
  889. Procedure TDraft.Setmessage(AIndex : Integer; const AValue : TMessage);
  890. begin
  891. If (Fmessage=AValue) then exit;
  892. Fmessage:=AValue;
  893. MarkPropertyChanged(AIndex);
  894. end;
  895. { --------------------------------------------------------------------
  896. THistory
  897. --------------------------------------------------------------------}
  898. Procedure THistory.Setid(AIndex : Integer; const AValue : String);
  899. begin
  900. If (Fid=AValue) then exit;
  901. Fid:=AValue;
  902. MarkPropertyChanged(AIndex);
  903. end;
  904. Procedure THistory.SetlabelsAdded(AIndex : Integer; const AValue : THistoryTypelabelsAddedArray);
  905. begin
  906. If (FlabelsAdded=AValue) then exit;
  907. FlabelsAdded:=AValue;
  908. MarkPropertyChanged(AIndex);
  909. end;
  910. Procedure THistory.SetlabelsRemoved(AIndex : Integer; const AValue : THistoryTypelabelsRemovedArray);
  911. begin
  912. If (FlabelsRemoved=AValue) then exit;
  913. FlabelsRemoved:=AValue;
  914. MarkPropertyChanged(AIndex);
  915. end;
  916. Procedure THistory.Setmessages(AIndex : Integer; const AValue : THistoryTypemessagesArray);
  917. begin
  918. If (Fmessages=AValue) then exit;
  919. Fmessages:=AValue;
  920. MarkPropertyChanged(AIndex);
  921. end;
  922. Procedure THistory.SetmessagesAdded(AIndex : Integer; const AValue : THistoryTypemessagesAddedArray);
  923. begin
  924. If (FmessagesAdded=AValue) then exit;
  925. FmessagesAdded:=AValue;
  926. MarkPropertyChanged(AIndex);
  927. end;
  928. Procedure THistory.SetmessagesDeleted(AIndex : Integer; const AValue : THistoryTypemessagesDeletedArray);
  929. begin
  930. If (FmessagesDeleted=AValue) then exit;
  931. FmessagesDeleted:=AValue;
  932. MarkPropertyChanged(AIndex);
  933. end;
  934. //2.6.4. bug workaround
  935. {$IFDEF VER2_6}
  936. Procedure THistory.SetArrayLength(Const AName : String; ALength : Longint);
  937. begin
  938. Case AName of
  939. 'labelsadded' : SetLength(FlabelsAdded,ALength);
  940. 'labelsremoved' : SetLength(FlabelsRemoved,ALength);
  941. 'messages' : SetLength(Fmessages,ALength);
  942. 'messagesadded' : SetLength(FmessagesAdded,ALength);
  943. 'messagesdeleted' : SetLength(FmessagesDeleted,ALength);
  944. else
  945. Inherited SetArrayLength(AName,ALength);
  946. end;
  947. end;
  948. {$ENDIF VER2_6}
  949. { --------------------------------------------------------------------
  950. THistoryLabelAdded
  951. --------------------------------------------------------------------}
  952. Procedure THistoryLabelAdded.SetlabelIds(AIndex : Integer; const AValue : TStringArray);
  953. begin
  954. If (FlabelIds=AValue) then exit;
  955. FlabelIds:=AValue;
  956. MarkPropertyChanged(AIndex);
  957. end;
  958. Procedure THistoryLabelAdded.Setmessage(AIndex : Integer; const AValue : TMessage);
  959. begin
  960. If (Fmessage=AValue) then exit;
  961. Fmessage:=AValue;
  962. MarkPropertyChanged(AIndex);
  963. end;
  964. //2.6.4. bug workaround
  965. {$IFDEF VER2_6}
  966. Procedure THistoryLabelAdded.SetArrayLength(Const AName : String; ALength : Longint);
  967. begin
  968. Case AName of
  969. 'labelids' : SetLength(FlabelIds,ALength);
  970. else
  971. Inherited SetArrayLength(AName,ALength);
  972. end;
  973. end;
  974. {$ENDIF VER2_6}
  975. { --------------------------------------------------------------------
  976. THistoryLabelRemoved
  977. --------------------------------------------------------------------}
  978. Procedure THistoryLabelRemoved.SetlabelIds(AIndex : Integer; const AValue : TStringArray);
  979. begin
  980. If (FlabelIds=AValue) then exit;
  981. FlabelIds:=AValue;
  982. MarkPropertyChanged(AIndex);
  983. end;
  984. Procedure THistoryLabelRemoved.Setmessage(AIndex : Integer; const AValue : TMessage);
  985. begin
  986. If (Fmessage=AValue) then exit;
  987. Fmessage:=AValue;
  988. MarkPropertyChanged(AIndex);
  989. end;
  990. //2.6.4. bug workaround
  991. {$IFDEF VER2_6}
  992. Procedure THistoryLabelRemoved.SetArrayLength(Const AName : String; ALength : Longint);
  993. begin
  994. Case AName of
  995. 'labelids' : SetLength(FlabelIds,ALength);
  996. else
  997. Inherited SetArrayLength(AName,ALength);
  998. end;
  999. end;
  1000. {$ENDIF VER2_6}
  1001. { --------------------------------------------------------------------
  1002. THistoryMessageAdded
  1003. --------------------------------------------------------------------}
  1004. Procedure THistoryMessageAdded.Setmessage(AIndex : Integer; const AValue : TMessage);
  1005. begin
  1006. If (Fmessage=AValue) then exit;
  1007. Fmessage:=AValue;
  1008. MarkPropertyChanged(AIndex);
  1009. end;
  1010. { --------------------------------------------------------------------
  1011. THistoryMessageDeleted
  1012. --------------------------------------------------------------------}
  1013. Procedure THistoryMessageDeleted.Setmessage(AIndex : Integer; const AValue : TMessage);
  1014. begin
  1015. If (Fmessage=AValue) then exit;
  1016. Fmessage:=AValue;
  1017. MarkPropertyChanged(AIndex);
  1018. end;
  1019. { --------------------------------------------------------------------
  1020. TLabel
  1021. --------------------------------------------------------------------}
  1022. Procedure TLabel.Setid(AIndex : Integer; const AValue : String);
  1023. begin
  1024. If (Fid=AValue) then exit;
  1025. Fid:=AValue;
  1026. MarkPropertyChanged(AIndex);
  1027. end;
  1028. Procedure TLabel.SetlabelListVisibility(AIndex : Integer; const AValue : String);
  1029. begin
  1030. If (FlabelListVisibility=AValue) then exit;
  1031. FlabelListVisibility:=AValue;
  1032. MarkPropertyChanged(AIndex);
  1033. end;
  1034. Procedure TLabel.SetmessageListVisibility(AIndex : Integer; const AValue : String);
  1035. begin
  1036. If (FmessageListVisibility=AValue) then exit;
  1037. FmessageListVisibility:=AValue;
  1038. MarkPropertyChanged(AIndex);
  1039. end;
  1040. Procedure TLabel.SetmessagesTotal(AIndex : Integer; const AValue : integer);
  1041. begin
  1042. If (FmessagesTotal=AValue) then exit;
  1043. FmessagesTotal:=AValue;
  1044. MarkPropertyChanged(AIndex);
  1045. end;
  1046. Procedure TLabel.SetmessagesUnread(AIndex : Integer; const AValue : integer);
  1047. begin
  1048. If (FmessagesUnread=AValue) then exit;
  1049. FmessagesUnread:=AValue;
  1050. MarkPropertyChanged(AIndex);
  1051. end;
  1052. Procedure TLabel.Setname(AIndex : Integer; const AValue : String);
  1053. begin
  1054. If (Fname=AValue) then exit;
  1055. Fname:=AValue;
  1056. MarkPropertyChanged(AIndex);
  1057. end;
  1058. Procedure TLabel.SetthreadsTotal(AIndex : Integer; const AValue : integer);
  1059. begin
  1060. If (FthreadsTotal=AValue) then exit;
  1061. FthreadsTotal:=AValue;
  1062. MarkPropertyChanged(AIndex);
  1063. end;
  1064. Procedure TLabel.SetthreadsUnread(AIndex : Integer; const AValue : integer);
  1065. begin
  1066. If (FthreadsUnread=AValue) then exit;
  1067. FthreadsUnread:=AValue;
  1068. MarkPropertyChanged(AIndex);
  1069. end;
  1070. Procedure TLabel.Set_type(AIndex : Integer; const AValue : String);
  1071. begin
  1072. If (F_type=AValue) then exit;
  1073. F_type:=AValue;
  1074. MarkPropertyChanged(AIndex);
  1075. end;
  1076. Class Function TLabel.ExportPropertyName(Const AName : String) :String;
  1077. begin
  1078. Case AName of
  1079. '_type' : Result:='type';
  1080. else
  1081. Result:=Inherited ExportPropertyName(AName);
  1082. end;
  1083. end;
  1084. { --------------------------------------------------------------------
  1085. TListDraftsResponse
  1086. --------------------------------------------------------------------}
  1087. Procedure TListDraftsResponse.Setdrafts(AIndex : Integer; const AValue : TListDraftsResponseTypedraftsArray);
  1088. begin
  1089. If (Fdrafts=AValue) then exit;
  1090. Fdrafts:=AValue;
  1091. MarkPropertyChanged(AIndex);
  1092. end;
  1093. Procedure TListDraftsResponse.SetnextPageToken(AIndex : Integer; const AValue : String);
  1094. begin
  1095. If (FnextPageToken=AValue) then exit;
  1096. FnextPageToken:=AValue;
  1097. MarkPropertyChanged(AIndex);
  1098. end;
  1099. Procedure TListDraftsResponse.SetresultSizeEstimate(AIndex : Integer; const AValue : integer);
  1100. begin
  1101. If (FresultSizeEstimate=AValue) then exit;
  1102. FresultSizeEstimate:=AValue;
  1103. MarkPropertyChanged(AIndex);
  1104. end;
  1105. //2.6.4. bug workaround
  1106. {$IFDEF VER2_6}
  1107. Procedure TListDraftsResponse.SetArrayLength(Const AName : String; ALength : Longint);
  1108. begin
  1109. Case AName of
  1110. 'drafts' : SetLength(Fdrafts,ALength);
  1111. else
  1112. Inherited SetArrayLength(AName,ALength);
  1113. end;
  1114. end;
  1115. {$ENDIF VER2_6}
  1116. { --------------------------------------------------------------------
  1117. TListHistoryResponse
  1118. --------------------------------------------------------------------}
  1119. Procedure TListHistoryResponse.Sethistory(AIndex : Integer; const AValue : TListHistoryResponseTypehistoryArray);
  1120. begin
  1121. If (Fhistory=AValue) then exit;
  1122. Fhistory:=AValue;
  1123. MarkPropertyChanged(AIndex);
  1124. end;
  1125. Procedure TListHistoryResponse.SethistoryId(AIndex : Integer; const AValue : String);
  1126. begin
  1127. If (FhistoryId=AValue) then exit;
  1128. FhistoryId:=AValue;
  1129. MarkPropertyChanged(AIndex);
  1130. end;
  1131. Procedure TListHistoryResponse.SetnextPageToken(AIndex : Integer; const AValue : String);
  1132. begin
  1133. If (FnextPageToken=AValue) then exit;
  1134. FnextPageToken:=AValue;
  1135. MarkPropertyChanged(AIndex);
  1136. end;
  1137. //2.6.4. bug workaround
  1138. {$IFDEF VER2_6}
  1139. Procedure TListHistoryResponse.SetArrayLength(Const AName : String; ALength : Longint);
  1140. begin
  1141. Case AName of
  1142. 'history' : SetLength(Fhistory,ALength);
  1143. else
  1144. Inherited SetArrayLength(AName,ALength);
  1145. end;
  1146. end;
  1147. {$ENDIF VER2_6}
  1148. { --------------------------------------------------------------------
  1149. TListLabelsResponse
  1150. --------------------------------------------------------------------}
  1151. Procedure TListLabelsResponse.Setlabels(AIndex : Integer; const AValue : TListLabelsResponseTypelabelsArray);
  1152. begin
  1153. If (Flabels=AValue) then exit;
  1154. Flabels:=AValue;
  1155. MarkPropertyChanged(AIndex);
  1156. end;
  1157. //2.6.4. bug workaround
  1158. {$IFDEF VER2_6}
  1159. Procedure TListLabelsResponse.SetArrayLength(Const AName : String; ALength : Longint);
  1160. begin
  1161. Case AName of
  1162. 'labels' : SetLength(Flabels,ALength);
  1163. else
  1164. Inherited SetArrayLength(AName,ALength);
  1165. end;
  1166. end;
  1167. {$ENDIF VER2_6}
  1168. { --------------------------------------------------------------------
  1169. TListMessagesResponse
  1170. --------------------------------------------------------------------}
  1171. Procedure TListMessagesResponse.Setmessages(AIndex : Integer; const AValue : TListMessagesResponseTypemessagesArray);
  1172. begin
  1173. If (Fmessages=AValue) then exit;
  1174. Fmessages:=AValue;
  1175. MarkPropertyChanged(AIndex);
  1176. end;
  1177. Procedure TListMessagesResponse.SetnextPageToken(AIndex : Integer; const AValue : String);
  1178. begin
  1179. If (FnextPageToken=AValue) then exit;
  1180. FnextPageToken:=AValue;
  1181. MarkPropertyChanged(AIndex);
  1182. end;
  1183. Procedure TListMessagesResponse.SetresultSizeEstimate(AIndex : Integer; const AValue : integer);
  1184. begin
  1185. If (FresultSizeEstimate=AValue) then exit;
  1186. FresultSizeEstimate:=AValue;
  1187. MarkPropertyChanged(AIndex);
  1188. end;
  1189. //2.6.4. bug workaround
  1190. {$IFDEF VER2_6}
  1191. Procedure TListMessagesResponse.SetArrayLength(Const AName : String; ALength : Longint);
  1192. begin
  1193. Case AName of
  1194. 'messages' : SetLength(Fmessages,ALength);
  1195. else
  1196. Inherited SetArrayLength(AName,ALength);
  1197. end;
  1198. end;
  1199. {$ENDIF VER2_6}
  1200. { --------------------------------------------------------------------
  1201. TListThreadsResponse
  1202. --------------------------------------------------------------------}
  1203. Procedure TListThreadsResponse.SetnextPageToken(AIndex : Integer; const AValue : String);
  1204. begin
  1205. If (FnextPageToken=AValue) then exit;
  1206. FnextPageToken:=AValue;
  1207. MarkPropertyChanged(AIndex);
  1208. end;
  1209. Procedure TListThreadsResponse.SetresultSizeEstimate(AIndex : Integer; const AValue : integer);
  1210. begin
  1211. If (FresultSizeEstimate=AValue) then exit;
  1212. FresultSizeEstimate:=AValue;
  1213. MarkPropertyChanged(AIndex);
  1214. end;
  1215. Procedure TListThreadsResponse.Setthreads(AIndex : Integer; const AValue : TListThreadsResponseTypethreadsArray);
  1216. begin
  1217. If (Fthreads=AValue) then exit;
  1218. Fthreads:=AValue;
  1219. MarkPropertyChanged(AIndex);
  1220. end;
  1221. //2.6.4. bug workaround
  1222. {$IFDEF VER2_6}
  1223. Procedure TListThreadsResponse.SetArrayLength(Const AName : String; ALength : Longint);
  1224. begin
  1225. Case AName of
  1226. 'threads' : SetLength(Fthreads,ALength);
  1227. else
  1228. Inherited SetArrayLength(AName,ALength);
  1229. end;
  1230. end;
  1231. {$ENDIF VER2_6}
  1232. { --------------------------------------------------------------------
  1233. TMessage
  1234. --------------------------------------------------------------------}
  1235. Procedure TMessage.SethistoryId(AIndex : Integer; const AValue : String);
  1236. begin
  1237. If (FhistoryId=AValue) then exit;
  1238. FhistoryId:=AValue;
  1239. MarkPropertyChanged(AIndex);
  1240. end;
  1241. Procedure TMessage.Setid(AIndex : Integer; const AValue : String);
  1242. begin
  1243. If (Fid=AValue) then exit;
  1244. Fid:=AValue;
  1245. MarkPropertyChanged(AIndex);
  1246. end;
  1247. Procedure TMessage.SetinternalDate(AIndex : Integer; const AValue : String);
  1248. begin
  1249. If (FinternalDate=AValue) then exit;
  1250. FinternalDate:=AValue;
  1251. MarkPropertyChanged(AIndex);
  1252. end;
  1253. Procedure TMessage.SetlabelIds(AIndex : Integer; const AValue : TStringArray);
  1254. begin
  1255. If (FlabelIds=AValue) then exit;
  1256. FlabelIds:=AValue;
  1257. MarkPropertyChanged(AIndex);
  1258. end;
  1259. Procedure TMessage.Setpayload(AIndex : Integer; const AValue : TMessagePart);
  1260. begin
  1261. If (Fpayload=AValue) then exit;
  1262. Fpayload:=AValue;
  1263. MarkPropertyChanged(AIndex);
  1264. end;
  1265. Procedure TMessage.Setraw(AIndex : Integer; const AValue : String);
  1266. begin
  1267. If (Fraw=AValue) then exit;
  1268. Fraw:=AValue;
  1269. MarkPropertyChanged(AIndex);
  1270. end;
  1271. Procedure TMessage.SetsizeEstimate(AIndex : Integer; const AValue : integer);
  1272. begin
  1273. If (FsizeEstimate=AValue) then exit;
  1274. FsizeEstimate:=AValue;
  1275. MarkPropertyChanged(AIndex);
  1276. end;
  1277. Procedure TMessage.Setsnippet(AIndex : Integer; const AValue : String);
  1278. begin
  1279. If (Fsnippet=AValue) then exit;
  1280. Fsnippet:=AValue;
  1281. MarkPropertyChanged(AIndex);
  1282. end;
  1283. Procedure TMessage.SetthreadId(AIndex : Integer; const AValue : String);
  1284. begin
  1285. If (FthreadId=AValue) then exit;
  1286. FthreadId:=AValue;
  1287. MarkPropertyChanged(AIndex);
  1288. end;
  1289. //2.6.4. bug workaround
  1290. {$IFDEF VER2_6}
  1291. Procedure TMessage.SetArrayLength(Const AName : String; ALength : Longint);
  1292. begin
  1293. Case AName of
  1294. 'labelids' : SetLength(FlabelIds,ALength);
  1295. else
  1296. Inherited SetArrayLength(AName,ALength);
  1297. end;
  1298. end;
  1299. {$ENDIF VER2_6}
  1300. { --------------------------------------------------------------------
  1301. TMessagePart
  1302. --------------------------------------------------------------------}
  1303. Procedure TMessagePart.Setbody(AIndex : Integer; const AValue : TMessagePartBody);
  1304. begin
  1305. If (Fbody=AValue) then exit;
  1306. Fbody:=AValue;
  1307. MarkPropertyChanged(AIndex);
  1308. end;
  1309. Procedure TMessagePart.Setfilename(AIndex : Integer; const AValue : String);
  1310. begin
  1311. If (Ffilename=AValue) then exit;
  1312. Ffilename:=AValue;
  1313. MarkPropertyChanged(AIndex);
  1314. end;
  1315. Procedure TMessagePart.Setheaders(AIndex : Integer; const AValue : TMessagePartTypeheadersArray);
  1316. begin
  1317. If (Fheaders=AValue) then exit;
  1318. Fheaders:=AValue;
  1319. MarkPropertyChanged(AIndex);
  1320. end;
  1321. Procedure TMessagePart.SetmimeType(AIndex : Integer; const AValue : String);
  1322. begin
  1323. If (FmimeType=AValue) then exit;
  1324. FmimeType:=AValue;
  1325. MarkPropertyChanged(AIndex);
  1326. end;
  1327. Procedure TMessagePart.SetpartId(AIndex : Integer; const AValue : String);
  1328. begin
  1329. If (FpartId=AValue) then exit;
  1330. FpartId:=AValue;
  1331. MarkPropertyChanged(AIndex);
  1332. end;
  1333. Procedure TMessagePart.Setparts(AIndex : Integer; const AValue : TMessagePartTypepartsArray);
  1334. begin
  1335. If (Fparts=AValue) then exit;
  1336. Fparts:=AValue;
  1337. MarkPropertyChanged(AIndex);
  1338. end;
  1339. //2.6.4. bug workaround
  1340. {$IFDEF VER2_6}
  1341. Procedure TMessagePart.SetArrayLength(Const AName : String; ALength : Longint);
  1342. begin
  1343. Case AName of
  1344. 'headers' : SetLength(Fheaders,ALength);
  1345. 'parts' : SetLength(Fparts,ALength);
  1346. else
  1347. Inherited SetArrayLength(AName,ALength);
  1348. end;
  1349. end;
  1350. {$ENDIF VER2_6}
  1351. { --------------------------------------------------------------------
  1352. TMessagePartBody
  1353. --------------------------------------------------------------------}
  1354. Procedure TMessagePartBody.SetattachmentId(AIndex : Integer; const AValue : String);
  1355. begin
  1356. If (FattachmentId=AValue) then exit;
  1357. FattachmentId:=AValue;
  1358. MarkPropertyChanged(AIndex);
  1359. end;
  1360. Procedure TMessagePartBody.Setdata(AIndex : Integer; const AValue : String);
  1361. begin
  1362. If (Fdata=AValue) then exit;
  1363. Fdata:=AValue;
  1364. MarkPropertyChanged(AIndex);
  1365. end;
  1366. Procedure TMessagePartBody.Setsize(AIndex : Integer; const AValue : integer);
  1367. begin
  1368. If (Fsize=AValue) then exit;
  1369. Fsize:=AValue;
  1370. MarkPropertyChanged(AIndex);
  1371. end;
  1372. { --------------------------------------------------------------------
  1373. TMessagePartHeader
  1374. --------------------------------------------------------------------}
  1375. Procedure TMessagePartHeader.Setname(AIndex : Integer; const AValue : String);
  1376. begin
  1377. If (Fname=AValue) then exit;
  1378. Fname:=AValue;
  1379. MarkPropertyChanged(AIndex);
  1380. end;
  1381. Procedure TMessagePartHeader.Setvalue(AIndex : Integer; const AValue : String);
  1382. begin
  1383. If (Fvalue=AValue) then exit;
  1384. Fvalue:=AValue;
  1385. MarkPropertyChanged(AIndex);
  1386. end;
  1387. { --------------------------------------------------------------------
  1388. TModifyMessageRequest
  1389. --------------------------------------------------------------------}
  1390. Procedure TModifyMessageRequest.SetaddLabelIds(AIndex : Integer; const AValue : TStringArray);
  1391. begin
  1392. If (FaddLabelIds=AValue) then exit;
  1393. FaddLabelIds:=AValue;
  1394. MarkPropertyChanged(AIndex);
  1395. end;
  1396. Procedure TModifyMessageRequest.SetremoveLabelIds(AIndex : Integer; const AValue : TStringArray);
  1397. begin
  1398. If (FremoveLabelIds=AValue) then exit;
  1399. FremoveLabelIds:=AValue;
  1400. MarkPropertyChanged(AIndex);
  1401. end;
  1402. //2.6.4. bug workaround
  1403. {$IFDEF VER2_6}
  1404. Procedure TModifyMessageRequest.SetArrayLength(Const AName : String; ALength : Longint);
  1405. begin
  1406. Case AName of
  1407. 'addlabelids' : SetLength(FaddLabelIds,ALength);
  1408. 'removelabelids' : SetLength(FremoveLabelIds,ALength);
  1409. else
  1410. Inherited SetArrayLength(AName,ALength);
  1411. end;
  1412. end;
  1413. {$ENDIF VER2_6}
  1414. { --------------------------------------------------------------------
  1415. TModifyThreadRequest
  1416. --------------------------------------------------------------------}
  1417. Procedure TModifyThreadRequest.SetaddLabelIds(AIndex : Integer; const AValue : TStringArray);
  1418. begin
  1419. If (FaddLabelIds=AValue) then exit;
  1420. FaddLabelIds:=AValue;
  1421. MarkPropertyChanged(AIndex);
  1422. end;
  1423. Procedure TModifyThreadRequest.SetremoveLabelIds(AIndex : Integer; const AValue : TStringArray);
  1424. begin
  1425. If (FremoveLabelIds=AValue) then exit;
  1426. FremoveLabelIds:=AValue;
  1427. MarkPropertyChanged(AIndex);
  1428. end;
  1429. //2.6.4. bug workaround
  1430. {$IFDEF VER2_6}
  1431. Procedure TModifyThreadRequest.SetArrayLength(Const AName : String; ALength : Longint);
  1432. begin
  1433. Case AName of
  1434. 'addlabelids' : SetLength(FaddLabelIds,ALength);
  1435. 'removelabelids' : SetLength(FremoveLabelIds,ALength);
  1436. else
  1437. Inherited SetArrayLength(AName,ALength);
  1438. end;
  1439. end;
  1440. {$ENDIF VER2_6}
  1441. { --------------------------------------------------------------------
  1442. TProfile
  1443. --------------------------------------------------------------------}
  1444. Procedure TProfile.SetemailAddress(AIndex : Integer; const AValue : String);
  1445. begin
  1446. If (FemailAddress=AValue) then exit;
  1447. FemailAddress:=AValue;
  1448. MarkPropertyChanged(AIndex);
  1449. end;
  1450. Procedure TProfile.SethistoryId(AIndex : Integer; const AValue : String);
  1451. begin
  1452. If (FhistoryId=AValue) then exit;
  1453. FhistoryId:=AValue;
  1454. MarkPropertyChanged(AIndex);
  1455. end;
  1456. Procedure TProfile.SetmessagesTotal(AIndex : Integer; const AValue : integer);
  1457. begin
  1458. If (FmessagesTotal=AValue) then exit;
  1459. FmessagesTotal:=AValue;
  1460. MarkPropertyChanged(AIndex);
  1461. end;
  1462. Procedure TProfile.SetthreadsTotal(AIndex : Integer; const AValue : integer);
  1463. begin
  1464. If (FthreadsTotal=AValue) then exit;
  1465. FthreadsTotal:=AValue;
  1466. MarkPropertyChanged(AIndex);
  1467. end;
  1468. { --------------------------------------------------------------------
  1469. TThread
  1470. --------------------------------------------------------------------}
  1471. Procedure TThread.SethistoryId(AIndex : Integer; const AValue : String);
  1472. begin
  1473. If (FhistoryId=AValue) then exit;
  1474. FhistoryId:=AValue;
  1475. MarkPropertyChanged(AIndex);
  1476. end;
  1477. Procedure TThread.Setid(AIndex : Integer; const AValue : String);
  1478. begin
  1479. If (Fid=AValue) then exit;
  1480. Fid:=AValue;
  1481. MarkPropertyChanged(AIndex);
  1482. end;
  1483. Procedure TThread.Setmessages(AIndex : Integer; const AValue : TThreadTypemessagesArray);
  1484. begin
  1485. If (Fmessages=AValue) then exit;
  1486. Fmessages:=AValue;
  1487. MarkPropertyChanged(AIndex);
  1488. end;
  1489. Procedure TThread.Setsnippet(AIndex : Integer; const AValue : String);
  1490. begin
  1491. If (Fsnippet=AValue) then exit;
  1492. Fsnippet:=AValue;
  1493. MarkPropertyChanged(AIndex);
  1494. end;
  1495. //2.6.4. bug workaround
  1496. {$IFDEF VER2_6}
  1497. Procedure TThread.SetArrayLength(Const AName : String; ALength : Longint);
  1498. begin
  1499. Case AName of
  1500. 'messages' : SetLength(Fmessages,ALength);
  1501. else
  1502. Inherited SetArrayLength(AName,ALength);
  1503. end;
  1504. end;
  1505. {$ENDIF VER2_6}
  1506. { --------------------------------------------------------------------
  1507. TWatchRequest
  1508. --------------------------------------------------------------------}
  1509. Procedure TWatchRequest.SetlabelFilterAction(AIndex : Integer; const AValue : String);
  1510. begin
  1511. If (FlabelFilterAction=AValue) then exit;
  1512. FlabelFilterAction:=AValue;
  1513. MarkPropertyChanged(AIndex);
  1514. end;
  1515. Procedure TWatchRequest.SetlabelIds(AIndex : Integer; const AValue : TStringArray);
  1516. begin
  1517. If (FlabelIds=AValue) then exit;
  1518. FlabelIds:=AValue;
  1519. MarkPropertyChanged(AIndex);
  1520. end;
  1521. Procedure TWatchRequest.SettopicName(AIndex : Integer; const AValue : String);
  1522. begin
  1523. If (FtopicName=AValue) then exit;
  1524. FtopicName:=AValue;
  1525. MarkPropertyChanged(AIndex);
  1526. end;
  1527. //2.6.4. bug workaround
  1528. {$IFDEF VER2_6}
  1529. Procedure TWatchRequest.SetArrayLength(Const AName : String; ALength : Longint);
  1530. begin
  1531. Case AName of
  1532. 'labelids' : SetLength(FlabelIds,ALength);
  1533. else
  1534. Inherited SetArrayLength(AName,ALength);
  1535. end;
  1536. end;
  1537. {$ENDIF VER2_6}
  1538. { --------------------------------------------------------------------
  1539. TWatchResponse
  1540. --------------------------------------------------------------------}
  1541. Procedure TWatchResponse.Setexpiration(AIndex : Integer; const AValue : String);
  1542. begin
  1543. If (Fexpiration=AValue) then exit;
  1544. Fexpiration:=AValue;
  1545. MarkPropertyChanged(AIndex);
  1546. end;
  1547. Procedure TWatchResponse.SethistoryId(AIndex : Integer; const AValue : String);
  1548. begin
  1549. If (FhistoryId=AValue) then exit;
  1550. FhistoryId:=AValue;
  1551. MarkPropertyChanged(AIndex);
  1552. end;
  1553. { --------------------------------------------------------------------
  1554. TUsersDraftsResource
  1555. --------------------------------------------------------------------}
  1556. Class Function TUsersDraftsResource.ResourceName : String;
  1557. begin
  1558. Result:='drafts';
  1559. end;
  1560. Class Function TUsersDraftsResource.DefaultAPI : TGoogleAPIClass;
  1561. begin
  1562. Result:=TgmailAPI;
  1563. end;
  1564. Function TUsersDraftsResource.Create(userId: string; aDraft : TDraft) : TDraft;
  1565. Const
  1566. _HTTPMethod = 'POST';
  1567. _Path = '{userId}/drafts';
  1568. _Methodid = 'gmail.users.drafts.create';
  1569. Var
  1570. _P : String;
  1571. begin
  1572. _P:=SubstitutePath(_Path,['userId',userId]);
  1573. Result:=ServiceCall(_HTTPMethod,_P,'',aDraft,TDraft) as TDraft;
  1574. end;
  1575. Procedure TUsersDraftsResource.Delete(id: string; userId: string);
  1576. Const
  1577. _HTTPMethod = 'DELETE';
  1578. _Path = '{userId}/drafts/{id}';
  1579. _Methodid = 'gmail.users.drafts.delete';
  1580. Var
  1581. _P : String;
  1582. begin
  1583. _P:=SubstitutePath(_Path,['id',id,'userId',userId]);
  1584. ServiceCall(_HTTPMethod,_P,'',Nil,Nil);
  1585. end;
  1586. Function TUsersDraftsResource.Get(id: string; userId: string; AQuery : string = '') : TDraft;
  1587. Const
  1588. _HTTPMethod = 'GET';
  1589. _Path = '{userId}/drafts/{id}';
  1590. _Methodid = 'gmail.users.drafts.get';
  1591. Var
  1592. _P : String;
  1593. begin
  1594. _P:=SubstitutePath(_Path,['id',id,'userId',userId]);
  1595. Result:=ServiceCall(_HTTPMethod,_P,AQuery,Nil,TDraft) as TDraft;
  1596. end;
  1597. Function TUsersDraftsResource.Get(id: string; userId: string; AQuery : TUsersDraftsgetOptions) : TDraft;
  1598. Var
  1599. _Q : String;
  1600. begin
  1601. _Q:='';
  1602. AddToQuery(_Q,'format',AQuery.format);
  1603. Result:=Get(id,userId,_Q);
  1604. end;
  1605. Function TUsersDraftsResource.List(userId: string; AQuery : string = '') : TListDraftsResponse;
  1606. Const
  1607. _HTTPMethod = 'GET';
  1608. _Path = '{userId}/drafts';
  1609. _Methodid = 'gmail.users.drafts.list';
  1610. Var
  1611. _P : String;
  1612. begin
  1613. _P:=SubstitutePath(_Path,['userId',userId]);
  1614. Result:=ServiceCall(_HTTPMethod,_P,AQuery,Nil,TListDraftsResponse) as TListDraftsResponse;
  1615. end;
  1616. Function TUsersDraftsResource.List(userId: string; AQuery : TUsersDraftslistOptions) : TListDraftsResponse;
  1617. Var
  1618. _Q : String;
  1619. begin
  1620. _Q:='';
  1621. AddToQuery(_Q,'includeSpamTrash',AQuery.includeSpamTrash);
  1622. AddToQuery(_Q,'maxResults',AQuery.maxResults);
  1623. AddToQuery(_Q,'pageToken',AQuery.pageToken);
  1624. Result:=List(userId,_Q);
  1625. end;
  1626. Function TUsersDraftsResource.Send(userId: string; aDraft : TDraft) : TMessage;
  1627. Const
  1628. _HTTPMethod = 'POST';
  1629. _Path = '{userId}/drafts/send';
  1630. _Methodid = 'gmail.users.drafts.send';
  1631. Var
  1632. _P : String;
  1633. begin
  1634. _P:=SubstitutePath(_Path,['userId',userId]);
  1635. Result:=ServiceCall(_HTTPMethod,_P,'',aDraft,TMessage) as TMessage;
  1636. end;
  1637. Function TUsersDraftsResource.Update(id: string; userId: string; aDraft : TDraft) : TDraft;
  1638. Const
  1639. _HTTPMethod = 'PUT';
  1640. _Path = '{userId}/drafts/{id}';
  1641. _Methodid = 'gmail.users.drafts.update';
  1642. Var
  1643. _P : String;
  1644. begin
  1645. _P:=SubstitutePath(_Path,['id',id,'userId',userId]);
  1646. Result:=ServiceCall(_HTTPMethod,_P,'',aDraft,TDraft) as TDraft;
  1647. end;
  1648. { --------------------------------------------------------------------
  1649. TUsersHistoryResource
  1650. --------------------------------------------------------------------}
  1651. Class Function TUsersHistoryResource.ResourceName : String;
  1652. begin
  1653. Result:='history';
  1654. end;
  1655. Class Function TUsersHistoryResource.DefaultAPI : TGoogleAPIClass;
  1656. begin
  1657. Result:=TgmailAPI;
  1658. end;
  1659. Function TUsersHistoryResource.List(userId: string; AQuery : string = '') : TListHistoryResponse;
  1660. Const
  1661. _HTTPMethod = 'GET';
  1662. _Path = '{userId}/history';
  1663. _Methodid = 'gmail.users.history.list';
  1664. Var
  1665. _P : String;
  1666. begin
  1667. _P:=SubstitutePath(_Path,['userId',userId]);
  1668. Result:=ServiceCall(_HTTPMethod,_P,AQuery,Nil,TListHistoryResponse) as TListHistoryResponse;
  1669. end;
  1670. Function TUsersHistoryResource.List(userId: string; AQuery : TUsersHistorylistOptions) : TListHistoryResponse;
  1671. Var
  1672. _Q : String;
  1673. begin
  1674. _Q:='';
  1675. AddToQuery(_Q,'labelId',AQuery.labelId);
  1676. AddToQuery(_Q,'maxResults',AQuery.maxResults);
  1677. AddToQuery(_Q,'pageToken',AQuery.pageToken);
  1678. AddToQuery(_Q,'startHistoryId',AQuery.startHistoryId);
  1679. Result:=List(userId,_Q);
  1680. end;
  1681. { --------------------------------------------------------------------
  1682. TUsersLabelsResource
  1683. --------------------------------------------------------------------}
  1684. Class Function TUsersLabelsResource.ResourceName : String;
  1685. begin
  1686. Result:='labels';
  1687. end;
  1688. Class Function TUsersLabelsResource.DefaultAPI : TGoogleAPIClass;
  1689. begin
  1690. Result:=TgmailAPI;
  1691. end;
  1692. Function TUsersLabelsResource.Create(userId: string; aLabel : TLabel) : TLabel;
  1693. Const
  1694. _HTTPMethod = 'POST';
  1695. _Path = '{userId}/labels';
  1696. _Methodid = 'gmail.users.labels.create';
  1697. Var
  1698. _P : String;
  1699. begin
  1700. _P:=SubstitutePath(_Path,['userId',userId]);
  1701. Result:=ServiceCall(_HTTPMethod,_P,'',aLabel,TLabel) as TLabel;
  1702. end;
  1703. Procedure TUsersLabelsResource.Delete(id: string; userId: string);
  1704. Const
  1705. _HTTPMethod = 'DELETE';
  1706. _Path = '{userId}/labels/{id}';
  1707. _Methodid = 'gmail.users.labels.delete';
  1708. Var
  1709. _P : String;
  1710. begin
  1711. _P:=SubstitutePath(_Path,['id',id,'userId',userId]);
  1712. ServiceCall(_HTTPMethod,_P,'',Nil,Nil);
  1713. end;
  1714. Function TUsersLabelsResource.Get(id: string; userId: string) : TLabel;
  1715. Const
  1716. _HTTPMethod = 'GET';
  1717. _Path = '{userId}/labels/{id}';
  1718. _Methodid = 'gmail.users.labels.get';
  1719. Var
  1720. _P : String;
  1721. begin
  1722. _P:=SubstitutePath(_Path,['id',id,'userId',userId]);
  1723. Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TLabel) as TLabel;
  1724. end;
  1725. Function TUsersLabelsResource.List(userId: string) : TListLabelsResponse;
  1726. Const
  1727. _HTTPMethod = 'GET';
  1728. _Path = '{userId}/labels';
  1729. _Methodid = 'gmail.users.labels.list';
  1730. Var
  1731. _P : String;
  1732. begin
  1733. _P:=SubstitutePath(_Path,['userId',userId]);
  1734. Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TListLabelsResponse) as TListLabelsResponse;
  1735. end;
  1736. Function TUsersLabelsResource.Patch(id: string; userId: string; aLabel : TLabel) : TLabel;
  1737. Const
  1738. _HTTPMethod = 'PATCH';
  1739. _Path = '{userId}/labels/{id}';
  1740. _Methodid = 'gmail.users.labels.patch';
  1741. Var
  1742. _P : String;
  1743. begin
  1744. _P:=SubstitutePath(_Path,['id',id,'userId',userId]);
  1745. Result:=ServiceCall(_HTTPMethod,_P,'',aLabel,TLabel) as TLabel;
  1746. end;
  1747. Function TUsersLabelsResource.Update(id: string; userId: string; aLabel : TLabel) : TLabel;
  1748. Const
  1749. _HTTPMethod = 'PUT';
  1750. _Path = '{userId}/labels/{id}';
  1751. _Methodid = 'gmail.users.labels.update';
  1752. Var
  1753. _P : String;
  1754. begin
  1755. _P:=SubstitutePath(_Path,['id',id,'userId',userId]);
  1756. Result:=ServiceCall(_HTTPMethod,_P,'',aLabel,TLabel) as TLabel;
  1757. end;
  1758. { --------------------------------------------------------------------
  1759. TUsersMessagesAttachmentsResource
  1760. --------------------------------------------------------------------}
  1761. Class Function TUsersMessagesAttachmentsResource.ResourceName : String;
  1762. begin
  1763. Result:='attachments';
  1764. end;
  1765. Class Function TUsersMessagesAttachmentsResource.DefaultAPI : TGoogleAPIClass;
  1766. begin
  1767. Result:=TgmailAPI;
  1768. end;
  1769. Function TUsersMessagesAttachmentsResource.Get(id: string; messageId: string; userId: string) : TMessagePartBody;
  1770. Const
  1771. _HTTPMethod = 'GET';
  1772. _Path = '{userId}/messages/{messageId}/attachments/{id}';
  1773. _Methodid = 'gmail.users.messages.attachments.get';
  1774. Var
  1775. _P : String;
  1776. begin
  1777. _P:=SubstitutePath(_Path,['id',id,'messageId',messageId,'userId',userId]);
  1778. Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TMessagePartBody) as TMessagePartBody;
  1779. end;
  1780. { --------------------------------------------------------------------
  1781. TUsersMessagesResource
  1782. --------------------------------------------------------------------}
  1783. Class Function TUsersMessagesResource.ResourceName : String;
  1784. begin
  1785. Result:='messages';
  1786. end;
  1787. Class Function TUsersMessagesResource.DefaultAPI : TGoogleAPIClass;
  1788. begin
  1789. Result:=TgmailAPI;
  1790. end;
  1791. Procedure TUsersMessagesResource.BatchDelete(userId: string; aBatchDeleteMessagesRequest : TBatchDeleteMessagesRequest);
  1792. Const
  1793. _HTTPMethod = 'POST';
  1794. _Path = '{userId}/messages/batchDelete';
  1795. _Methodid = 'gmail.users.messages.batchDelete';
  1796. Var
  1797. _P : String;
  1798. begin
  1799. _P:=SubstitutePath(_Path,['userId',userId]);
  1800. ServiceCall(_HTTPMethod,_P,'',aBatchDeleteMessagesRequest,Nil);
  1801. end;
  1802. Procedure TUsersMessagesResource.Delete(id: string; userId: string);
  1803. Const
  1804. _HTTPMethod = 'DELETE';
  1805. _Path = '{userId}/messages/{id}';
  1806. _Methodid = 'gmail.users.messages.delete';
  1807. Var
  1808. _P : String;
  1809. begin
  1810. _P:=SubstitutePath(_Path,['id',id,'userId',userId]);
  1811. ServiceCall(_HTTPMethod,_P,'',Nil,Nil);
  1812. end;
  1813. Function TUsersMessagesResource.Get(id: string; userId: string; AQuery : string = '') : TMessage;
  1814. Const
  1815. _HTTPMethod = 'GET';
  1816. _Path = '{userId}/messages/{id}';
  1817. _Methodid = 'gmail.users.messages.get';
  1818. Var
  1819. _P : String;
  1820. begin
  1821. _P:=SubstitutePath(_Path,['id',id,'userId',userId]);
  1822. Result:=ServiceCall(_HTTPMethod,_P,AQuery,Nil,TMessage) as TMessage;
  1823. end;
  1824. Function TUsersMessagesResource.Get(id: string; userId: string; AQuery : TUsersMessagesgetOptions) : TMessage;
  1825. Var
  1826. _Q : String;
  1827. begin
  1828. _Q:='';
  1829. AddToQuery(_Q,'format',AQuery.format);
  1830. AddToQuery(_Q,'metadataHeaders',AQuery.metadataHeaders);
  1831. Result:=Get(id,userId,_Q);
  1832. end;
  1833. Function TUsersMessagesResource.Import(userId: string; aMessage : TMessage; AQuery : string = '') : TMessage;
  1834. Const
  1835. _HTTPMethod = 'POST';
  1836. _Path = '{userId}/messages/import';
  1837. _Methodid = 'gmail.users.messages.import';
  1838. Var
  1839. _P : String;
  1840. begin
  1841. _P:=SubstitutePath(_Path,['userId',userId]);
  1842. Result:=ServiceCall(_HTTPMethod,_P,AQuery,aMessage,TMessage) as TMessage;
  1843. end;
  1844. Function TUsersMessagesResource.Import(userId: string; aMessage : TMessage; AQuery : TUsersMessagesimportOptions) : TMessage;
  1845. Var
  1846. _Q : String;
  1847. begin
  1848. _Q:='';
  1849. AddToQuery(_Q,'deleted',AQuery.deleted);
  1850. AddToQuery(_Q,'internalDateSource',AQuery.internalDateSource);
  1851. AddToQuery(_Q,'neverMarkSpam',AQuery.neverMarkSpam);
  1852. AddToQuery(_Q,'processForCalendar',AQuery.processForCalendar);
  1853. Result:=Import(userId,aMessage,_Q);
  1854. end;
  1855. Function TUsersMessagesResource.Insert(userId: string; aMessage : TMessage; AQuery : string = '') : TMessage;
  1856. Const
  1857. _HTTPMethod = 'POST';
  1858. _Path = '{userId}/messages';
  1859. _Methodid = 'gmail.users.messages.insert';
  1860. Var
  1861. _P : String;
  1862. begin
  1863. _P:=SubstitutePath(_Path,['userId',userId]);
  1864. Result:=ServiceCall(_HTTPMethod,_P,AQuery,aMessage,TMessage) as TMessage;
  1865. end;
  1866. Function TUsersMessagesResource.Insert(userId: string; aMessage : TMessage; AQuery : TUsersMessagesinsertOptions) : TMessage;
  1867. Var
  1868. _Q : String;
  1869. begin
  1870. _Q:='';
  1871. AddToQuery(_Q,'deleted',AQuery.deleted);
  1872. AddToQuery(_Q,'internalDateSource',AQuery.internalDateSource);
  1873. Result:=Insert(userId,aMessage,_Q);
  1874. end;
  1875. Function TUsersMessagesResource.List(userId: string; AQuery : string = '') : TListMessagesResponse;
  1876. Const
  1877. _HTTPMethod = 'GET';
  1878. _Path = '{userId}/messages';
  1879. _Methodid = 'gmail.users.messages.list';
  1880. Var
  1881. _P : String;
  1882. begin
  1883. _P:=SubstitutePath(_Path,['userId',userId]);
  1884. Result:=ServiceCall(_HTTPMethod,_P,AQuery,Nil,TListMessagesResponse) as TListMessagesResponse;
  1885. end;
  1886. Function TUsersMessagesResource.List(userId: string; AQuery : TUsersMessageslistOptions) : TListMessagesResponse;
  1887. Var
  1888. _Q : String;
  1889. begin
  1890. _Q:='';
  1891. AddToQuery(_Q,'includeSpamTrash',AQuery.includeSpamTrash);
  1892. AddToQuery(_Q,'labelIds',AQuery.labelIds);
  1893. AddToQuery(_Q,'maxResults',AQuery.maxResults);
  1894. AddToQuery(_Q,'pageToken',AQuery.pageToken);
  1895. AddToQuery(_Q,'q',AQuery.q);
  1896. Result:=List(userId,_Q);
  1897. end;
  1898. Function TUsersMessagesResource.Modify(id: string; userId: string; aModifyMessageRequest : TModifyMessageRequest) : TMessage;
  1899. Const
  1900. _HTTPMethod = 'POST';
  1901. _Path = '{userId}/messages/{id}/modify';
  1902. _Methodid = 'gmail.users.messages.modify';
  1903. Var
  1904. _P : String;
  1905. begin
  1906. _P:=SubstitutePath(_Path,['id',id,'userId',userId]);
  1907. Result:=ServiceCall(_HTTPMethod,_P,'',aModifyMessageRequest,TMessage) as TMessage;
  1908. end;
  1909. Function TUsersMessagesResource.Send(userId: string; aMessage : TMessage) : TMessage;
  1910. Const
  1911. _HTTPMethod = 'POST';
  1912. _Path = '{userId}/messages/send';
  1913. _Methodid = 'gmail.users.messages.send';
  1914. Var
  1915. _P : String;
  1916. begin
  1917. _P:=SubstitutePath(_Path,['userId',userId]);
  1918. Result:=ServiceCall(_HTTPMethod,_P,'',aMessage,TMessage) as TMessage;
  1919. end;
  1920. Function TUsersMessagesResource.Trash(id: string; userId: string) : TMessage;
  1921. Const
  1922. _HTTPMethod = 'POST';
  1923. _Path = '{userId}/messages/{id}/trash';
  1924. _Methodid = 'gmail.users.messages.trash';
  1925. Var
  1926. _P : String;
  1927. begin
  1928. _P:=SubstitutePath(_Path,['id',id,'userId',userId]);
  1929. Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TMessage) as TMessage;
  1930. end;
  1931. Function TUsersMessagesResource.Untrash(id: string; userId: string) : TMessage;
  1932. Const
  1933. _HTTPMethod = 'POST';
  1934. _Path = '{userId}/messages/{id}/untrash';
  1935. _Methodid = 'gmail.users.messages.untrash';
  1936. Var
  1937. _P : String;
  1938. begin
  1939. _P:=SubstitutePath(_Path,['id',id,'userId',userId]);
  1940. Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TMessage) as TMessage;
  1941. end;
  1942. Function TUsersMessagesResource.GetAttachmentsInstance : TUsersMessagesAttachmentsResource;
  1943. begin
  1944. if (FAttachmentsInstance=Nil) then
  1945. FAttachmentsInstance:=CreateAttachmentsResource;
  1946. Result:=FAttachmentsInstance;
  1947. end;
  1948. Function TUsersMessagesResource.CreateAttachmentsResource : TUsersMessagesAttachmentsResource;
  1949. begin
  1950. Result:=CreateAttachmentsResource(Self);
  1951. end;
  1952. Function TUsersMessagesResource.CreateAttachmentsResource(AOwner : TComponent) : TUsersMessagesAttachmentsResource;
  1953. begin
  1954. Result:=TUsersMessagesAttachmentsResource.Create(AOwner);
  1955. Result.API:=Self.API;
  1956. end;
  1957. { --------------------------------------------------------------------
  1958. TUsersThreadsResource
  1959. --------------------------------------------------------------------}
  1960. Class Function TUsersThreadsResource.ResourceName : String;
  1961. begin
  1962. Result:='threads';
  1963. end;
  1964. Class Function TUsersThreadsResource.DefaultAPI : TGoogleAPIClass;
  1965. begin
  1966. Result:=TgmailAPI;
  1967. end;
  1968. Procedure TUsersThreadsResource.Delete(id: string; userId: string);
  1969. Const
  1970. _HTTPMethod = 'DELETE';
  1971. _Path = '{userId}/threads/{id}';
  1972. _Methodid = 'gmail.users.threads.delete';
  1973. Var
  1974. _P : String;
  1975. begin
  1976. _P:=SubstitutePath(_Path,['id',id,'userId',userId]);
  1977. ServiceCall(_HTTPMethod,_P,'',Nil,Nil);
  1978. end;
  1979. Function TUsersThreadsResource.Get(id: string; userId: string; AQuery : string = '') : TThread;
  1980. Const
  1981. _HTTPMethod = 'GET';
  1982. _Path = '{userId}/threads/{id}';
  1983. _Methodid = 'gmail.users.threads.get';
  1984. Var
  1985. _P : String;
  1986. begin
  1987. _P:=SubstitutePath(_Path,['id',id,'userId',userId]);
  1988. Result:=ServiceCall(_HTTPMethod,_P,AQuery,Nil,TThread) as TThread;
  1989. end;
  1990. Function TUsersThreadsResource.Get(id: string; userId: string; AQuery : TUsersThreadsgetOptions) : TThread;
  1991. Var
  1992. _Q : String;
  1993. begin
  1994. _Q:='';
  1995. AddToQuery(_Q,'format',AQuery.format);
  1996. AddToQuery(_Q,'metadataHeaders',AQuery.metadataHeaders);
  1997. Result:=Get(id,userId,_Q);
  1998. end;
  1999. Function TUsersThreadsResource.List(userId: string; AQuery : string = '') : TListThreadsResponse;
  2000. Const
  2001. _HTTPMethod = 'GET';
  2002. _Path = '{userId}/threads';
  2003. _Methodid = 'gmail.users.threads.list';
  2004. Var
  2005. _P : String;
  2006. begin
  2007. _P:=SubstitutePath(_Path,['userId',userId]);
  2008. Result:=ServiceCall(_HTTPMethod,_P,AQuery,Nil,TListThreadsResponse) as TListThreadsResponse;
  2009. end;
  2010. Function TUsersThreadsResource.List(userId: string; AQuery : TUsersThreadslistOptions) : TListThreadsResponse;
  2011. Var
  2012. _Q : String;
  2013. begin
  2014. _Q:='';
  2015. AddToQuery(_Q,'includeSpamTrash',AQuery.includeSpamTrash);
  2016. AddToQuery(_Q,'labelIds',AQuery.labelIds);
  2017. AddToQuery(_Q,'maxResults',AQuery.maxResults);
  2018. AddToQuery(_Q,'pageToken',AQuery.pageToken);
  2019. AddToQuery(_Q,'q',AQuery.q);
  2020. Result:=List(userId,_Q);
  2021. end;
  2022. Function TUsersThreadsResource.Modify(id: string; userId: string; aModifyThreadRequest : TModifyThreadRequest) : TThread;
  2023. Const
  2024. _HTTPMethod = 'POST';
  2025. _Path = '{userId}/threads/{id}/modify';
  2026. _Methodid = 'gmail.users.threads.modify';
  2027. Var
  2028. _P : String;
  2029. begin
  2030. _P:=SubstitutePath(_Path,['id',id,'userId',userId]);
  2031. Result:=ServiceCall(_HTTPMethod,_P,'',aModifyThreadRequest,TThread) as TThread;
  2032. end;
  2033. Function TUsersThreadsResource.Trash(id: string; userId: string) : TThread;
  2034. Const
  2035. _HTTPMethod = 'POST';
  2036. _Path = '{userId}/threads/{id}/trash';
  2037. _Methodid = 'gmail.users.threads.trash';
  2038. Var
  2039. _P : String;
  2040. begin
  2041. _P:=SubstitutePath(_Path,['id',id,'userId',userId]);
  2042. Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TThread) as TThread;
  2043. end;
  2044. Function TUsersThreadsResource.Untrash(id: string; userId: string) : TThread;
  2045. Const
  2046. _HTTPMethod = 'POST';
  2047. _Path = '{userId}/threads/{id}/untrash';
  2048. _Methodid = 'gmail.users.threads.untrash';
  2049. Var
  2050. _P : String;
  2051. begin
  2052. _P:=SubstitutePath(_Path,['id',id,'userId',userId]);
  2053. Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TThread) as TThread;
  2054. end;
  2055. { --------------------------------------------------------------------
  2056. TUsersResource
  2057. --------------------------------------------------------------------}
  2058. Class Function TUsersResource.ResourceName : String;
  2059. begin
  2060. Result:='users';
  2061. end;
  2062. Class Function TUsersResource.DefaultAPI : TGoogleAPIClass;
  2063. begin
  2064. Result:=TgmailAPI;
  2065. end;
  2066. Function TUsersResource.GetProfile(userId: string) : TProfile;
  2067. Const
  2068. _HTTPMethod = 'GET';
  2069. _Path = '{userId}/profile';
  2070. _Methodid = 'gmail.users.getProfile';
  2071. Var
  2072. _P : String;
  2073. begin
  2074. _P:=SubstitutePath(_Path,['userId',userId]);
  2075. Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TProfile) as TProfile;
  2076. end;
  2077. Procedure TUsersResource.Stop(userId: string);
  2078. Const
  2079. _HTTPMethod = 'POST';
  2080. _Path = '{userId}/stop';
  2081. _Methodid = 'gmail.users.stop';
  2082. Var
  2083. _P : String;
  2084. begin
  2085. _P:=SubstitutePath(_Path,['userId',userId]);
  2086. ServiceCall(_HTTPMethod,_P,'',Nil,Nil);
  2087. end;
  2088. Function TUsersResource.Watch(userId: string; aWatchRequest : TWatchRequest) : TWatchResponse;
  2089. Const
  2090. _HTTPMethod = 'POST';
  2091. _Path = '{userId}/watch';
  2092. _Methodid = 'gmail.users.watch';
  2093. Var
  2094. _P : String;
  2095. begin
  2096. _P:=SubstitutePath(_Path,['userId',userId]);
  2097. Result:=ServiceCall(_HTTPMethod,_P,'',aWatchRequest,TWatchResponse) as TWatchResponse;
  2098. end;
  2099. Function TUsersResource.GetDraftsInstance : TUsersDraftsResource;
  2100. begin
  2101. if (FDraftsInstance=Nil) then
  2102. FDraftsInstance:=CreateDraftsResource;
  2103. Result:=FDraftsInstance;
  2104. end;
  2105. Function TUsersResource.CreateDraftsResource : TUsersDraftsResource;
  2106. begin
  2107. Result:=CreateDraftsResource(Self);
  2108. end;
  2109. Function TUsersResource.CreateDraftsResource(AOwner : TComponent) : TUsersDraftsResource;
  2110. begin
  2111. Result:=TUsersDraftsResource.Create(AOwner);
  2112. Result.API:=Self.API;
  2113. end;
  2114. Function TUsersResource.GetHistoryInstance : TUsersHistoryResource;
  2115. begin
  2116. if (FHistoryInstance=Nil) then
  2117. FHistoryInstance:=CreateHistoryResource;
  2118. Result:=FHistoryInstance;
  2119. end;
  2120. Function TUsersResource.CreateHistoryResource : TUsersHistoryResource;
  2121. begin
  2122. Result:=CreateHistoryResource(Self);
  2123. end;
  2124. Function TUsersResource.CreateHistoryResource(AOwner : TComponent) : TUsersHistoryResource;
  2125. begin
  2126. Result:=TUsersHistoryResource.Create(AOwner);
  2127. Result.API:=Self.API;
  2128. end;
  2129. Function TUsersResource.GetLabelsInstance : TUsersLabelsResource;
  2130. begin
  2131. if (FLabelsInstance=Nil) then
  2132. FLabelsInstance:=CreateLabelsResource;
  2133. Result:=FLabelsInstance;
  2134. end;
  2135. Function TUsersResource.CreateLabelsResource : TUsersLabelsResource;
  2136. begin
  2137. Result:=CreateLabelsResource(Self);
  2138. end;
  2139. Function TUsersResource.CreateLabelsResource(AOwner : TComponent) : TUsersLabelsResource;
  2140. begin
  2141. Result:=TUsersLabelsResource.Create(AOwner);
  2142. Result.API:=Self.API;
  2143. end;
  2144. Function TUsersResource.GetMessagesAttachmentsInstance : TUsersMessagesAttachmentsResource;
  2145. begin
  2146. if (FMessagesAttachmentsInstance=Nil) then
  2147. FMessagesAttachmentsInstance:=CreateMessagesAttachmentsResource;
  2148. Result:=FMessagesAttachmentsInstance;
  2149. end;
  2150. Function TUsersResource.CreateMessagesAttachmentsResource : TUsersMessagesAttachmentsResource;
  2151. begin
  2152. Result:=CreateMessagesAttachmentsResource(Self);
  2153. end;
  2154. Function TUsersResource.CreateMessagesAttachmentsResource(AOwner : TComponent) : TUsersMessagesAttachmentsResource;
  2155. begin
  2156. Result:=TUsersMessagesAttachmentsResource.Create(AOwner);
  2157. Result.API:=Self.API;
  2158. end;
  2159. Function TUsersResource.GetMessagesInstance : TUsersMessagesResource;
  2160. begin
  2161. if (FMessagesInstance=Nil) then
  2162. FMessagesInstance:=CreateMessagesResource;
  2163. Result:=FMessagesInstance;
  2164. end;
  2165. Function TUsersResource.CreateMessagesResource : TUsersMessagesResource;
  2166. begin
  2167. Result:=CreateMessagesResource(Self);
  2168. end;
  2169. Function TUsersResource.CreateMessagesResource(AOwner : TComponent) : TUsersMessagesResource;
  2170. begin
  2171. Result:=TUsersMessagesResource.Create(AOwner);
  2172. Result.API:=Self.API;
  2173. end;
  2174. Function TUsersResource.GetThreadsInstance : TUsersThreadsResource;
  2175. begin
  2176. if (FThreadsInstance=Nil) then
  2177. FThreadsInstance:=CreateThreadsResource;
  2178. Result:=FThreadsInstance;
  2179. end;
  2180. Function TUsersResource.CreateThreadsResource : TUsersThreadsResource;
  2181. begin
  2182. Result:=CreateThreadsResource(Self);
  2183. end;
  2184. Function TUsersResource.CreateThreadsResource(AOwner : TComponent) : TUsersThreadsResource;
  2185. begin
  2186. Result:=TUsersThreadsResource.Create(AOwner);
  2187. Result.API:=Self.API;
  2188. end;
  2189. { --------------------------------------------------------------------
  2190. TGmailAPI
  2191. --------------------------------------------------------------------}
  2192. Class Function TGmailAPI.APIName : String;
  2193. begin
  2194. Result:='gmail';
  2195. end;
  2196. Class Function TGmailAPI.APIVersion : String;
  2197. begin
  2198. Result:='v1';
  2199. end;
  2200. Class Function TGmailAPI.APIRevision : String;
  2201. begin
  2202. Result:='20160316';
  2203. end;
  2204. Class Function TGmailAPI.APIID : String;
  2205. begin
  2206. Result:='gmail:v1';
  2207. end;
  2208. Class Function TGmailAPI.APITitle : String;
  2209. begin
  2210. Result:='Gmail API';
  2211. end;
  2212. Class Function TGmailAPI.APIDescription : String;
  2213. begin
  2214. Result:='Access Gmail mailboxes including sending user email.';
  2215. end;
  2216. Class Function TGmailAPI.APIOwnerDomain : String;
  2217. begin
  2218. Result:='google.com';
  2219. end;
  2220. Class Function TGmailAPI.APIOwnerName : String;
  2221. begin
  2222. Result:='Google';
  2223. end;
  2224. Class Function TGmailAPI.APIIcon16 : String;
  2225. begin
  2226. Result:='https://www.google.com/images/icons/product/googlemail-16.png';
  2227. end;
  2228. Class Function TGmailAPI.APIIcon32 : String;
  2229. begin
  2230. Result:='https://www.google.com/images/icons/product/googlemail-32.png';
  2231. end;
  2232. Class Function TGmailAPI.APIdocumentationLink : String;
  2233. begin
  2234. Result:='https://developers.google.com/gmail/api/';
  2235. end;
  2236. Class Function TGmailAPI.APIrootUrl : string;
  2237. begin
  2238. Result:='https://www.googleapis.com/';
  2239. end;
  2240. Class Function TGmailAPI.APIbasePath : string;
  2241. begin
  2242. Result:='/gmail/v1/users/';
  2243. end;
  2244. Class Function TGmailAPI.APIbaseURL : String;
  2245. begin
  2246. Result:='https://www.googleapis.com/gmail/v1/users/';
  2247. end;
  2248. Class Function TGmailAPI.APIProtocol : string;
  2249. begin
  2250. Result:='rest';
  2251. end;
  2252. Class Function TGmailAPI.APIservicePath : string;
  2253. begin
  2254. Result:='gmail/v1/users/';
  2255. end;
  2256. Class Function TGmailAPI.APIbatchPath : String;
  2257. begin
  2258. Result:='batch';
  2259. end;
  2260. Class Function TGmailAPI.APIAuthScopes : TScopeInfoArray;
  2261. begin
  2262. SetLength(Result,7);
  2263. Result[0].Name:='https://mail.google.com/';
  2264. Result[0].Description:='View and manage your mail';
  2265. Result[1].Name:='https://www.googleapis.com/auth/gmail.compose';
  2266. Result[1].Description:='Manage drafts and send emails';
  2267. Result[2].Name:='https://www.googleapis.com/auth/gmail.insert';
  2268. Result[2].Description:='Insert mail into your mailbox';
  2269. Result[3].Name:='https://www.googleapis.com/auth/gmail.labels';
  2270. Result[3].Description:='Manage mailbox labels';
  2271. Result[4].Name:='https://www.googleapis.com/auth/gmail.modify';
  2272. Result[4].Description:='View and modify but not delete your email';
  2273. Result[5].Name:='https://www.googleapis.com/auth/gmail.readonly';
  2274. Result[5].Description:='View your emails messages and settings';
  2275. Result[6].Name:='https://www.googleapis.com/auth/gmail.send';
  2276. Result[6].Description:='Send email on your behalf';
  2277. end;
  2278. Class Function TGmailAPI.APINeedsAuth : Boolean;
  2279. begin
  2280. Result:=True;
  2281. end;
  2282. Class Procedure TGmailAPI.RegisterAPIResources;
  2283. begin
  2284. TBatchDeleteMessagesRequest.RegisterObject;
  2285. TDraft.RegisterObject;
  2286. THistory.RegisterObject;
  2287. THistoryLabelAdded.RegisterObject;
  2288. THistoryLabelRemoved.RegisterObject;
  2289. THistoryMessageAdded.RegisterObject;
  2290. THistoryMessageDeleted.RegisterObject;
  2291. TLabel.RegisterObject;
  2292. TListDraftsResponse.RegisterObject;
  2293. TListHistoryResponse.RegisterObject;
  2294. TListLabelsResponse.RegisterObject;
  2295. TListMessagesResponse.RegisterObject;
  2296. TListThreadsResponse.RegisterObject;
  2297. TMessage.RegisterObject;
  2298. TMessagePart.RegisterObject;
  2299. TMessagePartBody.RegisterObject;
  2300. TMessagePartHeader.RegisterObject;
  2301. TModifyMessageRequest.RegisterObject;
  2302. TModifyThreadRequest.RegisterObject;
  2303. TProfile.RegisterObject;
  2304. TThread.RegisterObject;
  2305. TWatchRequest.RegisterObject;
  2306. TWatchResponse.RegisterObject;
  2307. end;
  2308. Function TGmailAPI.GetUsersDraftsInstance : TUsersDraftsResource;
  2309. begin
  2310. if (FUsersDraftsInstance=Nil) then
  2311. FUsersDraftsInstance:=CreateUsersDraftsResource;
  2312. Result:=FUsersDraftsInstance;
  2313. end;
  2314. Function TGmailAPI.CreateUsersDraftsResource : TUsersDraftsResource;
  2315. begin
  2316. Result:=CreateUsersDraftsResource(Self);
  2317. end;
  2318. Function TGmailAPI.CreateUsersDraftsResource(AOwner : TComponent) : TUsersDraftsResource;
  2319. begin
  2320. Result:=TUsersDraftsResource.Create(AOwner);
  2321. Result.API:=Self.API;
  2322. end;
  2323. Function TGmailAPI.GetUsersHistoryInstance : TUsersHistoryResource;
  2324. begin
  2325. if (FUsersHistoryInstance=Nil) then
  2326. FUsersHistoryInstance:=CreateUsersHistoryResource;
  2327. Result:=FUsersHistoryInstance;
  2328. end;
  2329. Function TGmailAPI.CreateUsersHistoryResource : TUsersHistoryResource;
  2330. begin
  2331. Result:=CreateUsersHistoryResource(Self);
  2332. end;
  2333. Function TGmailAPI.CreateUsersHistoryResource(AOwner : TComponent) : TUsersHistoryResource;
  2334. begin
  2335. Result:=TUsersHistoryResource.Create(AOwner);
  2336. Result.API:=Self.API;
  2337. end;
  2338. Function TGmailAPI.GetUsersLabelsInstance : TUsersLabelsResource;
  2339. begin
  2340. if (FUsersLabelsInstance=Nil) then
  2341. FUsersLabelsInstance:=CreateUsersLabelsResource;
  2342. Result:=FUsersLabelsInstance;
  2343. end;
  2344. Function TGmailAPI.CreateUsersLabelsResource : TUsersLabelsResource;
  2345. begin
  2346. Result:=CreateUsersLabelsResource(Self);
  2347. end;
  2348. Function TGmailAPI.CreateUsersLabelsResource(AOwner : TComponent) : TUsersLabelsResource;
  2349. begin
  2350. Result:=TUsersLabelsResource.Create(AOwner);
  2351. Result.API:=Self.API;
  2352. end;
  2353. Function TGmailAPI.GetUsersMessagesAttachmentsInstance : TUsersMessagesAttachmentsResource;
  2354. begin
  2355. if (FUsersMessagesAttachmentsInstance=Nil) then
  2356. FUsersMessagesAttachmentsInstance:=CreateUsersMessagesAttachmentsResource;
  2357. Result:=FUsersMessagesAttachmentsInstance;
  2358. end;
  2359. Function TGmailAPI.CreateUsersMessagesAttachmentsResource : TUsersMessagesAttachmentsResource;
  2360. begin
  2361. Result:=CreateUsersMessagesAttachmentsResource(Self);
  2362. end;
  2363. Function TGmailAPI.CreateUsersMessagesAttachmentsResource(AOwner : TComponent) : TUsersMessagesAttachmentsResource;
  2364. begin
  2365. Result:=TUsersMessagesAttachmentsResource.Create(AOwner);
  2366. Result.API:=Self.API;
  2367. end;
  2368. Function TGmailAPI.GetUsersMessagesInstance : TUsersMessagesResource;
  2369. begin
  2370. if (FUsersMessagesInstance=Nil) then
  2371. FUsersMessagesInstance:=CreateUsersMessagesResource;
  2372. Result:=FUsersMessagesInstance;
  2373. end;
  2374. Function TGmailAPI.CreateUsersMessagesResource : TUsersMessagesResource;
  2375. begin
  2376. Result:=CreateUsersMessagesResource(Self);
  2377. end;
  2378. Function TGmailAPI.CreateUsersMessagesResource(AOwner : TComponent) : TUsersMessagesResource;
  2379. begin
  2380. Result:=TUsersMessagesResource.Create(AOwner);
  2381. Result.API:=Self.API;
  2382. end;
  2383. Function TGmailAPI.GetUsersThreadsInstance : TUsersThreadsResource;
  2384. begin
  2385. if (FUsersThreadsInstance=Nil) then
  2386. FUsersThreadsInstance:=CreateUsersThreadsResource;
  2387. Result:=FUsersThreadsInstance;
  2388. end;
  2389. Function TGmailAPI.CreateUsersThreadsResource : TUsersThreadsResource;
  2390. begin
  2391. Result:=CreateUsersThreadsResource(Self);
  2392. end;
  2393. Function TGmailAPI.CreateUsersThreadsResource(AOwner : TComponent) : TUsersThreadsResource;
  2394. begin
  2395. Result:=TUsersThreadsResource.Create(AOwner);
  2396. Result.API:=Self.API;
  2397. end;
  2398. Function TGmailAPI.GetUsersInstance : TUsersResource;
  2399. begin
  2400. if (FUsersInstance=Nil) then
  2401. FUsersInstance:=CreateUsersResource;
  2402. Result:=FUsersInstance;
  2403. end;
  2404. Function TGmailAPI.CreateUsersResource : TUsersResource;
  2405. begin
  2406. Result:=CreateUsersResource(Self);
  2407. end;
  2408. Function TGmailAPI.CreateUsersResource(AOwner : TComponent) : TUsersResource;
  2409. begin
  2410. Result:=TUsersResource.Create(AOwner);
  2411. Result.API:=Self.API;
  2412. end;
  2413. initialization
  2414. TGmailAPI.RegisterAPI;
  2415. end.