Merge lp://qastaging/~laney/do-plugins/bundled-libs into lp://qastaging/do-plugins

Proposed by Iain Lane
Status: Merged
Merged at revision: not available
Proposed branch: lp://qastaging/~laney/do-plugins/bundled-libs
Merge into: lp://qastaging/do-plugins
Diff against target: None lines
To merge this branch: bzr merge lp://qastaging/~laney/do-plugins/bundled-libs
Reviewer Review Type Date Requested Status
Do Plugins Team Pending
Review via email: mp+4537@code.qastaging.launchpad.net
To post a comment you must log in.
Revision history for this message
Iain Lane (laney) wrote :

This branch builds the google-gdata libs from source instead of bundling them. If the DLLs are bundled then they cannot be distributed in some distros, therefore these distros will not have some plugins available. Passes the `make distcheck' test.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== removed file 'BundledLibraries/Google.GData.AccessControl.dll'
2Binary files BundledLibraries/Google.GData.AccessControl.dll 2008-12-31 21:16:30 +0000 and BundledLibraries/Google.GData.AccessControl.dll 1970-01-01 00:00:00 +0000 differ
3=== removed file 'BundledLibraries/Google.GData.Calendar.dll'
4Binary files BundledLibraries/Google.GData.Calendar.dll 2008-12-31 21:16:30 +0000 and BundledLibraries/Google.GData.Calendar.dll 1970-01-01 00:00:00 +0000 differ
5=== removed file 'BundledLibraries/Google.GData.Client.dll'
6Binary files BundledLibraries/Google.GData.Client.dll 2008-12-31 21:16:30 +0000 and BundledLibraries/Google.GData.Client.dll 1970-01-01 00:00:00 +0000 differ
7=== removed file 'BundledLibraries/Google.GData.Contacts.dll'
8Binary files BundledLibraries/Google.GData.Contacts.dll 2008-12-31 21:16:30 +0000 and BundledLibraries/Google.GData.Contacts.dll 1970-01-01 00:00:00 +0000 differ
9=== removed file 'BundledLibraries/Google.GData.Documents.dll'
10Binary files BundledLibraries/Google.GData.Documents.dll 2008-12-31 21:16:30 +0000 and BundledLibraries/Google.GData.Documents.dll 1970-01-01 00:00:00 +0000 differ
11=== removed file 'BundledLibraries/Google.GData.Extensions.dll'
12Binary files BundledLibraries/Google.GData.Extensions.dll 2008-12-31 21:16:30 +0000 and BundledLibraries/Google.GData.Extensions.dll 1970-01-01 00:00:00 +0000 differ
13=== removed file 'BundledLibraries/Google.GData.YouTube.dll'
14Binary files BundledLibraries/Google.GData.YouTube.dll 2009-01-20 19:08:37 +0000 and BundledLibraries/Google.GData.YouTube.dll 1970-01-01 00:00:00 +0000 differ
15=== modified file 'BundledLibraries/Makefile.am'
16--- BundledLibraries/Makefile.am 2009-02-05 23:34:47 +0000
17+++ BundledLibraries/Makefile.am 2009-03-16 18:36:00 +0000
18@@ -1,5 +1,7 @@
19 bundledir = ${datadir}/gnome-do/plugins
20
21+gdata_subdir = $(srcdir)/libgoogle-data-mono-1.4.0.2
22+
23 GOOGLE_LIBS = \
24 Google.GData.AccessControl.dll \
25 Google.GData.Calendar.dll \
26@@ -18,5 +20,17 @@
27 # Copy these to the build dir; some things require the dlls to be present
28 # during build - particularly mautil.
29 all-local:
30- mkdir -p $(top_builddir)/build
31- install -m 644 -t $(top_builddir)/build $(bundle_DATA)
32+ $(MAKE) -C $(gdata_subdir)$(AM_MAKEFLAGS) all
33+ mkdir -p $(top_builddir)/build
34+ install -m 644 -t $(top_builddir)/build $(bundle_DATA)
35+clean-local:
36+ $(MAKE) -C $(gdata_subdir)$(AM_MAKEFLAGS) clean
37+ -rm -f $(srcdir)/*.dll
38+
39+all-local:
40+ mkdir -p $(top_builddir)/build
41+ install -m 644 -t $(top_builddir)/build $(bundle_DATA)
42+
43+%.dll:
44+ $(MAKE) -C $(gdata_subdir)$(AM_MAKEFLAGS) $@
45+ cp $(gdata_subdir)/$@ $(srcdir)
46
47=== added directory 'BundledLibraries/libgoogle-data-mono-1.4.0.2'
48=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/Google Data APIs .NET Homepage.url'
49--- BundledLibraries/libgoogle-data-mono-1.4.0.2/Google Data APIs .NET Homepage.url 1970-01-01 00:00:00 +0000
50+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/Google Data APIs .NET Homepage.url 2009-03-15 16:30:10 +0000
51@@ -0,0 +1,7 @@
52+[InternetShortcut]
53+URL=http://code.google.com/p/google-gdata/
54+IDList=
55+IconFile=http://code.google.com/favicon.ico
56+IconIndex=1
57+[{000214A0-0000-0000-C000-000000000046}]
58+Prop3=19,2
59
60=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/Google Data APIs Homepage.url'
61--- BundledLibraries/libgoogle-data-mono-1.4.0.2/Google Data APIs Homepage.url 1970-01-01 00:00:00 +0000
62+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/Google Data APIs Homepage.url 2009-03-15 16:30:10 +0000
63@@ -0,0 +1,7 @@
64+[InternetShortcut]
65+URL=http://code.google.com/
66+IDList=
67+IconFile=http://code.google.com/favicon.ico
68+IconIndex=1
69+[{000214A0-0000-0000-C000-000000000046}]
70+Prop3=19,2
71
72=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/LICENSE-2.0.txt'
73--- BundledLibraries/libgoogle-data-mono-1.4.0.2/LICENSE-2.0.txt 1970-01-01 00:00:00 +0000
74+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/LICENSE-2.0.txt 2009-03-15 16:30:10 +0000
75@@ -0,0 +1,202 @@
76+
77+ Apache License
78+ Version 2.0, January 2004
79+ http://www.apache.org/licenses/
80+
81+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
82+
83+ 1. Definitions.
84+
85+ "License" shall mean the terms and conditions for use, reproduction,
86+ and distribution as defined by Sections 1 through 9 of this document.
87+
88+ "Licensor" shall mean the copyright owner or entity authorized by
89+ the copyright owner that is granting the License.
90+
91+ "Legal Entity" shall mean the union of the acting entity and all
92+ other entities that control, are controlled by, or are under common
93+ control with that entity. For the purposes of this definition,
94+ "control" means (i) the power, direct or indirect, to cause the
95+ direction or management of such entity, whether by contract or
96+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
97+ outstanding shares, or (iii) beneficial ownership of such entity.
98+
99+ "You" (or "Your") shall mean an individual or Legal Entity
100+ exercising permissions granted by this License.
101+
102+ "Source" form shall mean the preferred form for making modifications,
103+ including but not limited to software source code, documentation
104+ source, and configuration files.
105+
106+ "Object" form shall mean any form resulting from mechanical
107+ transformation or translation of a Source form, including but
108+ not limited to compiled object code, generated documentation,
109+ and conversions to other media types.
110+
111+ "Work" shall mean the work of authorship, whether in Source or
112+ Object form, made available under the License, as indicated by a
113+ copyright notice that is included in or attached to the work
114+ (an example is provided in the Appendix below).
115+
116+ "Derivative Works" shall mean any work, whether in Source or Object
117+ form, that is based on (or derived from) the Work and for which the
118+ editorial revisions, annotations, elaborations, or other modifications
119+ represent, as a whole, an original work of authorship. For the purposes
120+ of this License, Derivative Works shall not include works that remain
121+ separable from, or merely link (or bind by name) to the interfaces of,
122+ the Work and Derivative Works thereof.
123+
124+ "Contribution" shall mean any work of authorship, including
125+ the original version of the Work and any modifications or additions
126+ to that Work or Derivative Works thereof, that is intentionally
127+ submitted to Licensor for inclusion in the Work by the copyright owner
128+ or by an individual or Legal Entity authorized to submit on behalf of
129+ the copyright owner. For the purposes of this definition, "submitted"
130+ means any form of electronic, verbal, or written communication sent
131+ to the Licensor or its representatives, including but not limited to
132+ communication on electronic mailing lists, source code control systems,
133+ and issue tracking systems that are managed by, or on behalf of, the
134+ Licensor for the purpose of discussing and improving the Work, but
135+ excluding communication that is conspicuously marked or otherwise
136+ designated in writing by the copyright owner as "Not a Contribution."
137+
138+ "Contributor" shall mean Licensor and any individual or Legal Entity
139+ on behalf of whom a Contribution has been received by Licensor and
140+ subsequently incorporated within the Work.
141+
142+ 2. Grant of Copyright License. Subject to the terms and conditions of
143+ this License, each Contributor hereby grants to You a perpetual,
144+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
145+ copyright license to reproduce, prepare Derivative Works of,
146+ publicly display, publicly perform, sublicense, and distribute the
147+ Work and such Derivative Works in Source or Object form.
148+
149+ 3. Grant of Patent License. Subject to the terms and conditions of
150+ this License, each Contributor hereby grants to You a perpetual,
151+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
152+ (except as stated in this section) patent license to make, have made,
153+ use, offer to sell, sell, import, and otherwise transfer the Work,
154+ where such license applies only to those patent claims licensable
155+ by such Contributor that are necessarily infringed by their
156+ Contribution(s) alone or by combination of their Contribution(s)
157+ with the Work to which such Contribution(s) was submitted. If You
158+ institute patent litigation against any entity (including a
159+ cross-claim or counterclaim in a lawsuit) alleging that the Work
160+ or a Contribution incorporated within the Work constitutes direct
161+ or contributory patent infringement, then any patent licenses
162+ granted to You under this License for that Work shall terminate
163+ as of the date such litigation is filed.
164+
165+ 4. Redistribution. You may reproduce and distribute copies of the
166+ Work or Derivative Works thereof in any medium, with or without
167+ modifications, and in Source or Object form, provided that You
168+ meet the following conditions:
169+
170+ (a) You must give any other recipients of the Work or
171+ Derivative Works a copy of this License; and
172+
173+ (b) You must cause any modified files to carry prominent notices
174+ stating that You changed the files; and
175+
176+ (c) You must retain, in the Source form of any Derivative Works
177+ that You distribute, all copyright, patent, trademark, and
178+ attribution notices from the Source form of the Work,
179+ excluding those notices that do not pertain to any part of
180+ the Derivative Works; and
181+
182+ (d) If the Work includes a "NOTICE" text file as part of its
183+ distribution, then any Derivative Works that You distribute must
184+ include a readable copy of the attribution notices contained
185+ within such NOTICE file, excluding those notices that do not
186+ pertain to any part of the Derivative Works, in at least one
187+ of the following places: within a NOTICE text file distributed
188+ as part of the Derivative Works; within the Source form or
189+ documentation, if provided along with the Derivative Works; or,
190+ within a display generated by the Derivative Works, if and
191+ wherever such third-party notices normally appear. The contents
192+ of the NOTICE file are for informational purposes only and
193+ do not modify the License. You may add Your own attribution
194+ notices within Derivative Works that You distribute, alongside
195+ or as an addendum to the NOTICE text from the Work, provided
196+ that such additional attribution notices cannot be construed
197+ as modifying the License.
198+
199+ You may add Your own copyright statement to Your modifications and
200+ may provide additional or different license terms and conditions
201+ for use, reproduction, or distribution of Your modifications, or
202+ for any such Derivative Works as a whole, provided Your use,
203+ reproduction, and distribution of the Work otherwise complies with
204+ the conditions stated in this License.
205+
206+ 5. Submission of Contributions. Unless You explicitly state otherwise,
207+ any Contribution intentionally submitted for inclusion in the Work
208+ by You to the Licensor shall be under the terms and conditions of
209+ this License, without any additional terms or conditions.
210+ Notwithstanding the above, nothing herein shall supersede or modify
211+ the terms of any separate license agreement you may have executed
212+ with Licensor regarding such Contributions.
213+
214+ 6. Trademarks. This License does not grant permission to use the trade
215+ names, trademarks, service marks, or product names of the Licensor,
216+ except as required for reasonable and customary use in describing the
217+ origin of the Work and reproducing the content of the NOTICE file.
218+
219+ 7. Disclaimer of Warranty. Unless required by applicable law or
220+ agreed to in writing, Licensor provides the Work (and each
221+ Contributor provides its Contributions) on an "AS IS" BASIS,
222+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
223+ implied, including, without limitation, any warranties or conditions
224+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
225+ PARTICULAR PURPOSE. You are solely responsible for determining the
226+ appropriateness of using or redistributing the Work and assume any
227+ risks associated with Your exercise of permissions under this License.
228+
229+ 8. Limitation of Liability. In no event and under no legal theory,
230+ whether in tort (including negligence), contract, or otherwise,
231+ unless required by applicable law (such as deliberate and grossly
232+ negligent acts) or agreed to in writing, shall any Contributor be
233+ liable to You for damages, including any direct, indirect, special,
234+ incidental, or consequential damages of any character arising as a
235+ result of this License or out of the use or inability to use the
236+ Work (including but not limited to damages for loss of goodwill,
237+ work stoppage, computer failure or malfunction, or any and all
238+ other commercial damages or losses), even if such Contributor
239+ has been advised of the possibility of such damages.
240+
241+ 9. Accepting Warranty or Additional Liability. While redistributing
242+ the Work or Derivative Works thereof, You may choose to offer,
243+ and charge a fee for, acceptance of support, warranty, indemnity,
244+ or other liability obligations and/or rights consistent with this
245+ License. However, in accepting such obligations, You may act only
246+ on Your own behalf and on Your sole responsibility, not on behalf
247+ of any other Contributor, and only if You agree to indemnify,
248+ defend, and hold each Contributor harmless for any liability
249+ incurred by, or claims asserted against, such Contributor by reason
250+ of your accepting any such warranty or additional liability.
251+
252+ END OF TERMS AND CONDITIONS
253+
254+ APPENDIX: How to apply the Apache License to your work.
255+
256+ To apply the Apache License to your work, attach the following
257+ boilerplate notice, with the fields enclosed by brackets "[]"
258+ replaced with your own identifying information. (Don't include
259+ the brackets!) The text should be enclosed in the appropriate
260+ comment syntax for the file format. We also recommend that a
261+ file or class name and description of purpose be included on the
262+ same "printed page" as the copyright notice for easier
263+ identification within third-party archives.
264+
265+ Copyright [yyyy] [name of copyright owner]
266+
267+ Licensed under the Apache License, Version 2.0 (the "License");
268+ you may not use this file except in compliance with the License.
269+ You may obtain a copy of the License at
270+
271+ http://www.apache.org/licenses/LICENSE-2.0
272+
273+ Unless required by applicable law or agreed to in writing, software
274+ distributed under the License is distributed on an "AS IS" BASIS,
275+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
276+ See the License for the specific language governing permissions and
277+ limitations under the License.
278
279=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/Makefile'
280--- BundledLibraries/libgoogle-data-mono-1.4.0.2/Makefile 1970-01-01 00:00:00 +0000
281+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/Makefile 2009-03-16 18:26:49 +0000
282@@ -0,0 +1,182 @@
283+CSC1=mcs
284+CSC=gmcs
285+
286+DEFINES=/d:TRACE
287+
288+VERSION=$(shell egrep AssemblyVersion version/AssemblyVersion.cs | egrep -o \([[:digit:]]\.\)+[[:digit:]]+)
289+PREFIX=/usr/local
290+
291+CORELIBS=\
292+ Google.GData.Client.dll \
293+ Google.GData.Extensions.dll
294+
295+ACLLIBS=\
296+ Google.GData.Client.dll \
297+ Google.GData.Extensions.dll \
298+ Google.GData.AccessControl.dll
299+
300+
301+ALLLIBS = \
302+ Google.GData.Calendar.dll \
303+ Google.GData.Client.dll \
304+ Google.GData.CodeSearch.dll \
305+ Google.GData.Extensions.dll \
306+ Google.GData.GoogleBase.dll \
307+ Google.GData.Spreadsheets.dll \
308+ Google.GData.Apps.dll \
309+ Google.GData.Photos.dll \
310+ Google.GData.Documents.dll \
311+ Google.GData.AccessControl.dll \
312+ Google.GData.Contacts.dll \
313+ Google.GData.YouTube.dll \
314+ Google.GData.Health.dll \
315+ Google.GData.Blogger.dll \
316+
317+FRAMEWORK_REFS = -r:System.dll -r:System.Xml.dll -r:System.Web.dll -r:System.Configuration.dll
318+
319+PKGCONFIG_FILES = $(patsubst %.pc.in,%.pc,$(wildcard misc/*.pc.in))
320+
321+COREREFS = $(addprefix -r:,$(CORELIBS)) $(FRAMEWORK_REFS)
322+ALLREFS = $(addprefix -r:,$(ALLLIBS)) $(FRAMEWORK_REFS)
323+ACLREFS = $(addprefix -r:,$(ACLLIBS)) $(FRAMEWORK_REFS)
324+
325+
326+samples = \
327+ gbase_queryexample.exe \
328+ gbase_customertool.exe \
329+ execrequest.exe \
330+ gapps_appsdemo.exe \
331+ gapps_migration_sample.exe \
332+ gblogger_demo.exe \
333+ gcal_demo.exe \
334+ gspreadsheet_demo.exe \
335+ PhotoTool.exe \
336+ HealthTool.exe \
337+
338+all: $(ALLLIBS) tests $(samples) $(PKGCONFIG_FILES)
339+
340+core_sources = $(wildcard src/core/*.cs) $(wildcard version/*.cs)
341+extensions_sources = $(wildcard src/extensions/*.cs) $(wildcard version/*.cs)
342+gbase_sources = $(wildcard src/gbase/*.cs) $(wildcard version/*.cs)
343+gcodesearch_sources = $(wildcard src/gcodesearch/*.cs) $(wildcard version/*.cs)
344+gspreadsheet_sources = $(wildcard src/gspreadsheet/*.cs) $(wildcard version/*.cs)
345+gcalendar_sources = $(wildcard src/gcalendar/*.cs) $(wildcard version/*.cs)
346+gacl_sources = $(wildcard src/gacl/*.cs) $(wildcard version/*.cs)
347+gapps_sources = $(wildcard src/gapps/*.cs) $(wildcard version/*.cs)
348+gphotos_sources = $(wildcard src/gphotos/*.cs) $(wildcard version/*.cs)
349+gdocuments_sources = $(wildcard src/gdocuments/*.cs) $(wildcard version/*.cs)
350+gcontact_sources = $(wildcard src/gcontacts/*.cs) $(wildcard version/*.cs)
351+youtube_sources = $(wildcard src/youtube/*.cs) $(wildcard version/*.cs)
352+health_sources = $(wildcard src/ghealth/*.cs) $(wildcard version/*.cs)
353+blogger_sources = $(wildcard src/blogger/*.cs) $(wildcard version/*.cs)
354+test_sources = $(wildcard src/unittests/*.cs) $(wildcard src/unittests/gbase/*.cs) $(wildcard src/unittests/gapps/*.cs)\
355+ $(wildcard src/unittests/spreadsheets/*.cs) $(wildcard src/unittests/youtube/*.cs) $(wildcard src/version/*cs)\
356+ $(wildcard src/unittests/core/*.cs) $(wildcard src/unittests/picasa/*.cs)
357+
358+Google.GData.Client.dll: $(core_sources) src/core/clientkey.sn
359+ $(CSC) $(DEFINES) -target:library -out:$@ $(core_sources) $(FRAMEWORK_REFS) -keyfile:src/core/clientkey.sn
360+
361+Google.GData.Extensions.dll: Google.GData.Client.dll $(extension_sources) src/extensions/extensionkey.sn
362+ $(CSC) $(DEFINES) -target:library -out:$@ -r:Google.GData.Client.dll $(extensions_sources) $(FRAMEWORK_REFS) -keyfile:src/extensions/extensionkey.sn
363+
364+Google.GData.Calendar.dll: $(ACLLIBS) $(gcalendar_sources) src/gcalendar/calendarkey.sn
365+ $(CSC) -target:library -out:$@ $(ACLREFS) $(gcalendar_sources) -keyfile:src/gcalendar/calendarkey.sn
366+
367+Google.GData.CodeSearch.dll: $(CORELIBS) $(gcodesearch_sources) src/gcodesearch/codesearch.sn
368+ $(CSC) -target:library -out:$@ $(COREREFS) $(gcodesearch_sources) -keyfile:src/gcodesearch/codesearch.sn
369+
370+Google.GData.GoogleBase.dll: $(CORELIBS) $(gbase_sources) src/gbase/gbase.sn
371+ $(CSC) -target:library -out:$@ $(COREREFS) $(gbase_sources) -keyfile:src/gbase/gbase.sn
372+
373+Google.GData.Spreadsheets.dll: $(CORELIBS) $(gspreadsheet_sources) src/gspreadsheet/spreadsheets.sn
374+ $(CSC) -target:library -out:$@ $(COREREFS) $(gspreadsheet_sources) -keyfile:src/gspreadsheet/spreadsheets.sn
375+
376+Google.GData.AccessControl.dll: $(CORELIBS) $(gacl_sources) src/gacl/gacl.sn
377+ $(CSC) -target:library -out:$@ $(COREREFS) $(gacl_sources) -keyfile:src/gacl/gacl.sn
378+
379+Google.GData.Apps.dll: $(CORELIBS) $(gapps_sources) src/gapps/gapps.sn
380+ $(CSC) -target:library -out:$@ $(COREREFS) $(gapps_sources) -keyfile:src/gapps/gapps.sn
381+
382+Google.GData.Photos.dll: $(CORELIBS) $(gphotos_sources) src/gphotos/picasa.sn
383+ $(CSC) $(DEFINES) -target:library -out:$@ $(COREREFS) $(gphotos_sources) -keyfile:src/gphotos/picasa.sn
384+
385+Google.GData.Documents.dll: $(ACLLIBS) $(gdocuments_sources) src/gdocuments/documents.sn
386+ $(CSC) $(DEFINES) -target:library -out:$@ $(ACLREFS) $(gdocuments_sources) -keyfile:src/gdocuments/documents.sn
387+
388+Google.GData.Contacts.dll: $(CORELIBS) $(gcontact_sources) src/gcontacts/contacts.sn
389+ $(CSC) $(DEFINES) -target:library -out:$@ $(COREREFS) $(gcontact_sources) -keyfile:src/gcontacts/contacts.sn
390+
391+Google.GData.YouTube.dll: $(CORELIBS) $(youtube_sources) src/youtube/youtube.sn
392+ $(CSC) $(DEFINES) -target:library -out:$@ $(COREREFS) $(youtube_sources) -keyfile:src/youtube/youtube.sn
393+
394+Google.GData.Health.dll: $(CORELIBS) $(health_sources) src/ghealth/ghealth.sn
395+ $(CSC) $(DEFINES) -target:library -out:$@ $(COREREFS) $(health_sources) -keyfile:src/ghealth/ghealth.sn
396+
397+Google.GData.Blogger.dll: $(CORELIBS) $(blogger_sources) src/blogger/blogger.sn
398+ $(CSC) $(DEFINES) -target:library -out:$@ $(COREREFS) $(blogger_sources) -keyfile:src/blogger/blogger.sn
399+
400+clean:
401+ -rm *.sn *.dll *exe $(PKGCONFIG_FILES)
402+
403+install: all
404+ for i in $(ALLLIBS); do gacutil -i $$i -package GData-Sharp -root "$(DESTDIR)$(PREFIX)/lib"; done
405+ install -d "$(DESTDIR)$(PREFIX)/lib/pkgconfig"
406+ install -m 644 -t "$(DESTDIR)$(PREFIX)/lib/pkgconfig" $(PKGCONFIG_FILES)
407+
408+uninstall:
409+ for i in $(ALLLIBS); do gacutil -u $$i -package GData-Sharp -root "$(DESTDIR)$(PREFIX)/lib"; done
410+ for i in $(PKGCONFIG_FILES) ; do rm "$(DESTDIR)$(PREFIX)/lib/pkgconfig/$$i" ; done
411+
412+tests: $(ALLLIBS)
413+ $(CSC) $(DEFINES) -target:library -out:unittests.dll $(ALLREFS) -pkg:nunit-2.4 $(test_sources)
414+
415+gbase_customertool_sources = samples/gbase/example.cs \
416+ samples/gbase/customertool.cs \
417+ samples/gbase/commands.cs
418+
419+gbase_customertool.exe: $(ALLLIBS) $(gbase_customertool_sources)
420+ $(CSC) -out:$@ $(ALLREFS) $(gbase_customertool_sources)
421+
422+gbase_queryexample_sources = samples/gbase/example.cs samples/gbase/queryexample.cs
423+gbase_queryexample.exe: $(ALLLIBS) $(gbase_queryexample_sources)
424+ $(CSC) -out:$@ $(ALLREFS) $(gbase_queryexample_sources)
425+
426+gapps_sample_sources = samples/appsforyourdomain/appsdemo.cs
427+gapps_appsdemo.exe: $(ALLLIBS) $(gapps_sample_sources)
428+ $(CSC) -out:$@ $(ALLREFS) $(gapps_sample_sources)
429+
430+gapps_migration_sample_sources = samples/appsforyourdomain/migration/migrationsample.cs
431+gapps_migration_sample.exe: $(ALLLIBS) $(gapps_migration_sample_sources)
432+ $(CSC) -out:$@ $(ALLREFS) $(gapps_migration_sample_sources)
433+
434+execrequest_sources = $(wildcard samples/execrequest/*.cs)
435+execrequest.exe: $(ALLLIBS) $(execrequest_sources)
436+ $(CSC) -out:$@ $(ALLREFS) $(execrequest_sources)
437+
438+gblogger_sample_sources = samples/blogger/ConsoleSample.cs
439+gblogger_demo.exe: $(ALLLIBS) $(gblogger_sample_sources)
440+ $(CSC) -out:$@ $(ALLREFS) $(gblogger_sample_sources)
441+
442+gcal_demo_sources = samples/calendar/console/CalendarDemo.cs
443+gcal_demo.exe: $(ALLLIBS) $(gcal_demo_sources)
444+ $(CSC) -out:$@ $(ALLREFS) $(gcal_demo_sources)
445+
446+gspreadsheet_demo_sources = samples/spreadsheets/spreadsheetdemo.cs
447+gspreadsheet_demo.exe: $(ALLLIBS) $(gspreadsheet_demo_sources)
448+ $(CSC) -out:$@ $(ALLREFS) $(gspreadsheet_demo_sources)
449+
450+PhotoTool_sources = $(wildcard samples/PhotoBrowser/*.cs)
451+PhotoTool.exe: $(ALLLIBS) $(PhotoTool_sources)
452+ $(CSC) -out:$@ $(ALLREFS) -r:System.Windows.Forms -r:System.Drawing -r:System.Data $(PhotoTool_sources)
453+
454+healthtool_sources = $(wildcard samples/health/*.cs)
455+HealthTool.exe: $(ALLLIBS) $(healthtool_sources)
456+ $(CSC) -out:$@ $(ALLREFS) $(healthtool_sources)
457+
458+
459+
460+test:
461+ nunit-console2 unittests.dll
462+
463+%.pc : %.pc.in
464+ sed "s,\@VERSION\@,$(VERSION),g; s,\@prefix\@,$(PREFIX),g" < $< > $@
465
466=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/RELEASE_NOTES.HTML'
467--- BundledLibraries/libgoogle-data-mono-1.4.0.2/RELEASE_NOTES.HTML 1970-01-01 00:00:00 +0000
468+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/RELEASE_NOTES.HTML 2009-03-15 16:30:10 +0000
469@@ -0,0 +1,1253 @@
470+<html>
471+ <head>
472+ <title>Release Notes</title>
473+ </head>
474+
475+
476+<h1>This document lists the changes in the different releases</h1>
477+ <h2>
478+ 1.4.0.2
479+ </h2>
480+ <ul>
481+ <li>
482+ Features
483+ </li>
484+ <ul>
485+ <li>Added PlaylistID and PlaylistTitle support to the
486+ subscription entries in youtube feeds, added support for
487+ subscriptions to the Google.YouTube namespace</li>
488+ <li>
489+ Added Google Contacts v2 support, including a new, vertical
490+ model like the YouTube programming model. You can find this
491+ in the Google.Contacts namespace.
492+ </li>
493+ <li>
494+ Added Batch access to the new generics model. You can now
495+ create a FeedRequest object, and use it's Batch method to send a
496+ List of entry objects to the server. Entry and Feed expose
497+ access to the batch data.
498+ </li>
499+ <li>Added Google Documents v2 support including the new
500+ download functionallity</li>
501+ <li>
502+ Added a new Google Documents exporter sample. It allows you to
503+ populate a treeview with your Google Documents and then export
504+ each individual file in a variety of formats.
505+ </li>
506+ <li>
507+ Extended the YouTube Notifier sample to use the User Events feed
508+ as well.
509+ </li>
510+ </ul>
511+ <li>
512+ Bugfixes/changes
513+ </li>
514+ <ul>
515+ <li>Added the missing contacts DLL to the setup program.</li>
516+ <li>Changed the new Feed model code to lazily load the feed on
517+ construction.</li>
518+ <li>
519+ Removed the CreateInstance methods from the new feedmodel and
520+ changed the internals to lazyily create the inner objects on
521+ demand. That means, no more Video v = Vidoe.CreateInstance()
522+ in your code, but Video v = new Video() is now fine.
523+ </li>
524+ <li>Removed an incorrect check for HTTP.StatusOK (200) as the
525+ result for an HTTP.Delete operation. Delete can return any 2xx
526+ code in theory.
527+ </li>
528+ <li>
529+ Fixed issue 209, an feed.Entries.Add(entryOfAnotherFeed) did
530+ create a source element automatically. That was too smart for
531+ it's own good. There is an explict method
532+ Entries.MoveOrCopy(entry) that does that, add will just change
533+ the ownership to the new collection.
534+ </li>
535+ <li>
536+ Changed Google.Client.Entry.ID to Google.Client.Entry.Id
537+ </li>
538+ <li>
539+ fixed the feed.Entries iterator to restart from the beginning
540+ when you want to use it again. Note that you should cache the
541+ output of the iterator is you want to use that in a loop.
542+ </li>
543+ <li>Fixed issue 217, a call to setUserCredentials now automatically invalidates
544+ a stored authtoken.</li>
545+ <li>Fixed issue 200. A feedQuery now supports an etag property, and several new
546+ service method overloads for query and send support an etag as a parameter.</li>
547+ <li>Service.Query(FeedQuery, ifModifiedSince) is now marked obsolete. You can use the ModifiedSince
548+ property on the FeedQuery object and Query(FeedQuery) instead.</li>
549+ <li>Added the ability to store a client token to
550+ GDataCredentials. Setting the credentials property will take
551+ this into account.</li>
552+ <li>Changed the base apps feed uri for Google Apps</li>
553+ <li>
554+ Changed GBatchStatus and GBatchError to use the correct
555+ namespace, it was incorrectly using the prefix instead.
556+ </li>
557+ <li> fixed issue 218, setting org.Title or org.name in a
558+ contact to null or an empty string did not remove the
559+ element.</li>
560+ <li>
561+ fixed issue 203, you can now retrieve the ACL feed for a
562+ document
563+ </li>
564+ <li>
565+ fixed issue 200, feedquery now has an etag property to create
566+ if-match queries.
567+ </li>
568+ <li>
569+ Fixed issue 221, setting private to false in an YouTubeEntry
570+ resulted in failure to persist that entr.
571+ </li>
572+
573+ <li>Added a setter for Entry.Id</li>
574+ <li>Added a batch method for Feed</li>
575+ <li>YouTube.Video.VideoId now has a setter</li>
576+ <li>YouTube.YouTubeRequest has an AddComment method.</li>
577+ <li>Google.Client.FeedRequest has a new Get(Uri uri) method</li>
578+
579+ <li>Added AppControl and IsDraft accessors to
580+ Google.Client.Entry</li>
581+ <li>Added a Get(uri) method to the
582+ Google.Client.FeedRequest</li>
583+
584+ <li> Fixed YouTubeEntry.State to actually parse and return the
585+ yt:state element</li>
586+
587+ <li>Added property accessors to YouTube.State<li>
588+
589+ <li>Added a State property accessor
590+ to Google.YouTube.YouTubeRequest</li>
591+ <li>Added a
592+ GetVideoMetaData method to YouTubeRequest</li>
593+ <li>Changed Get on the FeedRequest to Retrieve for single
594+ entries. This was required for the new overloads introduced.
595+ Also, as Retrieve directly accesses the service, compared to
596+ Get wich is defered, a name change is a good distinction.
597+ </li>
598+ <li>Video.Rating, ViewCount and CommentCount returns -1 as default
599+ if no value was found.</li>
600+
601+ <li>Lot's of addtions to the Entry Model and it's subclasses. Check
602+ the documentation for details</li>
603+
604+ </ul>
605+ </ul>
606+
607+
608+ <h2>
609+ 1.3.1.0
610+ </h2>
611+ <ul>
612+ <li>
613+ Features
614+ </li>
615+ <ul>
616+ <li>Added a mergemodule for the Core libraries. </li>
617+ <li>Added a mergemodule for the YouTube libraries. </li>
618+ <li>Added a new sample application for YouTube, the YouTube Notifier</li>
619+ <li>
620+ Added a YouTubeQuery.GetYouTubeCategories method that returns a
621+ collection of category objects based on parsing the youtube
622+ category file hosted on the web.
623+ </li>
624+ <li>YouTube project template.</li>
625+ <li>
626+ New, simpler, YouTube object model. Look at the items in the new
627+ Google.YouTube namespace. This new code is used in the YouTube
628+ Sample application, the template above, and the youtubetest.cs
629+ file in the unittests.
630+ </li>
631+ <li>
632+ Added a ModifiedSince property on the FeedQuery object. If set
633+ to something different than DateTime.MinValue this results in an
634+ if-modified-since HTTP header produced if the FeedQuery is used
635+ in a Service.Query call.
636+ </li>
637+ <li>OAuth support for two-legged authentication. Look in samples/OAuth for a usage example. Code for this
638+ graciously provided by Andrew Smith and Eran Sandler. Note that due to different support on the Compact Framework,
639+ this is not available in the Windows Mobile build. </li>
640+ </ul>
641+ <li>
642+ Bugfixes/changes
643+ </li>
644+ <ul>
645+ <li>
646+ Fixed issue 198. HealthEntry.CCR returned null, as a wrong cast
647+ after the recent refactory that happened to the extensions
648+ returned always null.
649+
650+ </li>
651+ <li>
652+ Fixed issue 195. Service.Update could call itself, resulting in
653+ recursion.
654+ </li>
655+ <li>
656+ Fixed bug 194. CreatePicasaUri was confusing because it used the
657+ albumname as a parameter compared to an albumid. Changed to now
658+ use an AlbumID.
659+ </li>
660+ <li>
661+ Removed the ASP build and marked the standard release assemblies
662+ as Partially Trusted.
663+ </li>
664+ <li>
665+ Fixed issue 191, Overloaded AuthSubUtil.getRequestUrl(hostedDomain, nextUrl, scope, secure, session) is broken
666+ </li>
667+ <li>
668+ Fixed issue 189, Cannot select Contacts by group
669+ </li>
670+ <li>Fixed an issue in AlbumEntry Accessor for Picasa, where ComentingEnabled accidently
671+ set the wrong element in the xml</li>
672+ <li>
673+ Removed the Service(service, application, library) constructor
674+ as this variation did not use the passsed in information. If you
675+ used this, just remove the 3rd parameter.
676+ </li>
677+ <li>
678+ Entry.Update and Entry.Delete will now thow an
679+ InvalidOperationException when they are called without a valid
680+ service object being set, instead of not doing anything
681+ silently.
682+ </li>
683+ <li>
684+ Removed the usage of StringCollection and replaced it with a
685+ generic List
686+ </li>
687+ <li>
688+ CommentingEnabled was accidently setting the CommentCount
689+ element.
690+ </li>
691+ <li>
692+ Made the created useragent string more uniform and meaningful
693+ </li>
694+ <li>
695+ AtomFeed.Entries are not an ILIst<> an no longer an arraylist.
696+ </li>
697+ <li>
698+ Fixed several v2 related YouTube issues
699+ </li>
700+ <li>
701+ Fixed issue 186 by removing the verification check at the end of the reminder parser
702+ </li>
703+ </ul>
704+ </ul>
705+
706+
707+ <h2>
708+ 1.2.3.0
709+ </h2>
710+ <ul>
711+ <li>
712+ Features
713+ </li>
714+ <ul>
715+ <li>Added support for EMail Settings in Google Apps</li>
716+
717+ <li>Added support for the protocol version 2</li>
718+ <ul>
719+ <li>YouTube will work against version 2 of the protocol by
720+ default. Added support for the version 2 of the YouTube
721+ feed. Old methods are marked as obsolete and will be removed
722+ in future releases.</li>
723+ <li>Bloogger will work against version 2 of the protocol by
724+ default. </li>
725+ </ul>
726+ <li>
727+ Created a blogger service, feed, entry and query class. The
728+ query class allows the OrderBy parameter. This also fixes issue
729+ 151 on the public issue list. Added a PostUri method to the
730+ blogger entry.
731+ </li>
732+ <li>
733+ Added the Error subelement collection to GDataBatchStatus.
734+ Removed the Value element as it was not used.
735+ </li>
736+ <li>Issue 166: Added a GetTokenInfo helper method that returns
737+ a Dictionary with the Information returned about the
738+ authentication token.</li>
739+ <li>Added a bool property Private to the YouTubeEntry
740+ identifying if a video is private</li>
741+ <li>Added a script to create a linux friendly tarball</li>
742+ <li>Issue 165: Added the ability to access the error collection
743+ from inside the batch error. </li>
744+ </ul>
745+ <li>
746+
747+ </ul>
748+ Bugfixes/changes
749+ </li>
750+ <ul>
751+ <li>Fixed issue 154: you can now access the publishing priority
752+ element on a GBaseEntry directly.</li>
753+ <li>Fixed issue 176: onProgress events were potentially not
754+ being raised in the Async Methods. </li>
755+ <li>Fixed issue 178: Groups feeds on the contacts service did
756+ not work when using https. </li>
757+ <li>Fixed issue 180: Passwords with some special characters
758+ were incorrectly encoded, leading to a failure in
759+ authentication.</li>
760+ <li>Removed the version dependency for the NUNIT tests, so that the
761+ tests can now be used with different installed versions of the
762+ NUNIT framework.
763+ </li>
764+ <li>Some typographical changes. getExtensionValue and
765+ setExtension are now named GetExtensionValue and
766+ SetExtensionValue</li>
767+ <li>
768+ Unknown extension elements are now stored in a Wrapper
769+ XmlExtension element, which implements the usual
770+ IExtensionElements interfaces to enable removing untyped lists
771+ internally.
772+ </li>
773+ <li>
774+ Moved the core of the extension functionallity, so just the base
775+ classes, into the Google.GData.Client, so that the base
776+ AtomFeed/AtomEntry can be extended using this extension system.
777+ Otherwise there would be a circular reference between client.dll
778+ and extension.dll
779+ </li>
780+ </ul>
781+ </ul>
782+
783+<h2>1.2.2.0</h2>
784+ <ul>
785+ <li>Features</li>
786+ <ul>
787+ <li>Added a SetRequestFactory method on the AppsService. This
788+ allows a user of the AppsService to set advanced HTTP properties
789+ for the underlying service objects used (like setting a proxy
790+ server, additional headers etc.) by creating a new RequestFactory
791+ object and passing it into the service. To make it easy to create
792+ this factory object a helper CreateRequestFactory was added to
793+ the AppsService object as well.
794+ </li>
795+ <li>
796+ Asyncronous/background support including a sample application.
797+ You can now easily fire off that long running YouTube upload, or
798+ the download of a picture as a seperate thread, so that your main
799+ application is no longer blocked. It uses the AsyncOperation
800+ pattern, and is not available (due to missing base support in the
801+ compact framework) in the Windows Mobile build. <br>
802+ The sample PhotoBrowser application was changed to use that
803+ pattern, and a page in the helpfile introduces the concept.
804+ </li>
805+ <li>Added support for Issue 163: the calendar recently
806+ introduced several new elements, this adds support for syncEvent,
807+ uui and sequence</li>
808+ </ul>
809+ <li>Bugfixes</li>
810+ <ul>
811+ <li>
812+ Fixed a bug in CommentingEnabled on the PhotoAccessor, which was
813+ setting internally the wrong property.
814+ </li>
815+ <li>
816+ Changed the behaviour of AlbumEntry.AlbumAuthor. The setter will
817+ now create a new author is no author is present.
818+ </li>
819+ <li>Fixed an issue regarding content, type=text. This element was not encoding correctly
820+ which could lead to server errors based on the contents of the element.</li>
821+ <li>Fixed issue 164, the code will now throw an exception if we
822+ get an empty location header in a redirect situation</li>
823+ <li>
824+ Fixed issue 161, changed the WebProxy property on the
825+ RequestFactory object to IWebProxy to make this interface more
826+ flexible.
827+ </li>
828+ <li>Removed an obsolete size check for the authentication
829+ response for client login and login for webapplications.</li>
830+ <li>Fixed issue 160, FirstName in the profile feed of YouTube
831+ was spelled wrong and hence not loaded correctly.</li>
832+ <li>Fixed issue 157, Slug Header encoding. This was not
833+ correctly confirming to RFC5023. Introduced a new helper method
834+ in the utilities class for this purpose.</li>
835+ <li>Fixed issue 147, a composite feed with a comment was not loading</li>
836+ <li>Fixed issue 148, RemoveAt did not remove the object from the
837+ containing collection, only locally. Fixed by overriding the
838+ OnRemove method. </li>
839+ <li>Fixed issue 155, there was no way to create a read only
840+ youtube service, or rephrased, one that did not require a
841+ developer key</li>
842+ <li>Fixed issue 159, a typo in the makefile that prevented gac
843+ install/uninstall</li>
844+ <li>Fixed issue 156, if an exception happened during upload, the
845+ resource was kept open</li>
846+ <li>Fixed issue 149, the Who element failed to parse attendee
847+ status if a whitespace element was encountered</li>
848+ <li>Fixed issue 144, recurrenceexception is not parsed correctly</li>
849+ <li>Fixed issue 145, FeedLink element parser error</li>
850+ <li>Fixed issue 146. Passwords containing percentage signs were not
851+ properly encoded.
852+ </li>
853+ </ul>
854+ </ul>
855+
856+
857+<h2>1.2.1.0</h2>
858+ <ul>
859+ <li>Features</li>
860+ <ul>
861+ <li>Added media:rating to media:group</li>
862+ <li>Added the most-popular constants to the defined youtube
863+ queries</li>
864+ <li>Added missing convienience classes to YouTube (Comments,
865+ Complaints etc, check the YouTube documentation)</li>
866+ <li>Added PDF support to the Google Documents API</li>
867+ <li>Added a CategoryQueriesAsParameter property on the feedquery
868+ class, and making that false by default. On the YouTubeQuery this
869+ is true by default. The effect is that category queries will not
870+ be created by extending/changing the path portion of the URL, but
871+ instead using a new parameter "category" and putting the
872+ categories comma delimited into the query part of the uri.</li>
873+
874+ </ul>
875+ <li>Bugfixes</li>
876+ <ul>
877+ <li>Fixed issue 135. There was a bug in the FeedQuery parsing
878+ code that resulted in URIs with date parameters that are encoded
879+ to potentially throw</li>
880+ <li>Removed the Cookie property and replaced it with a Cookies
881+ properter on the RequestFactory. The old code, using just a simple
882+ string, was implemented for mobile benefits, as the
883+ CookieContainer, that is used now, does not exist on the compact
884+ framework. The simple solution though is creating problems in some
885+ scenarios, and had to be removed.</li>
886+ <li>Added over 100 more unittests for the YouTube service</li>
887+ <li>Fixed issue 102, 142</li>
888+
889+ </ul>
890+ </ul>
891+
892+
893+<h2>1.2.0.0</h2>
894+<ul>
895+ <li>Features</li>
896+ <ul>
897+ <li>
898+ Added support for the gd:rating element
899+ </li>
900+ <li>Added direct properties for Url, Height, Width for the
901+ MediaThumbnail</li>
902+ <li>
903+ Added support for mediarss:category as a childcollection of
904+ media:group
905+ </li>
906+ <li>
907+ Created a real app:control extension. This one is currently only
908+ used in the YouTube namespace.
909+ </li>
910+ <li>
911+ Added support for YouTube
912+ </li>
913+ <li>Added support for Google Health</li>
914+ <li>Added HealthTool in the samples directory as a supporting
915+ tool for Google Health</li>
916+ <li>
917+ Added support for the timeout property of the http request. You do
918+ this by setting tbe timeout on the GDataRequestFactory to something
919+ else than -1, which indicates the default of the created HTTPRequest
920+ object.
921+ </li>
922+ <li>Added support for the new Contacts feed.
923+ <ul>
924+ <li>ContactEntry now has a collection of ExtendedProperties</li>
925+ <li>ContactEntry now has a collection of GroupMemberships</li>
926+ <li>The ContactsQuery.CreateContactsUri returns a FULL
927+ projection now by default. There is a new
928+ CreateContactsUri(user,projection) to get the old behaviour,
929+ or get other projections</li>
930+ <li>There is a new ContactsQuery.CreateGroupsUri helper</li>
931+ <li>ContactsQuery now supports the group parameter</li>
932+
933+ </ul>
934+ </li>
935+ </ul>
936+
937+ <li>Bugfixes/Changes</li>
938+ <ul>
939+ <li>It a text element is of type XHTML we now use the
940+ XmlWriter.WriteRaw method. This leaves encoding/decoding in the hands
941+ of the user of the API, but it seems to be the only way to guarantee
942+ that all kind of xhtml can be created.</li>
943+ <li>Changed the way AtomUris are loaded. In the past they were, for
944+ readability reasons, decoded on the load. This caused issue in
945+ certain situations, where the server expected the encoded version to
946+ be exactly the same later on. For that reason, AtomUris are now not
947+ decoded/encoded automatically, but this is left to the programmer.
948+ </li>
949+ <li>
950+ Changed the Service.StreamInsert to a more appropriate name. It is
951+ now called Service.EntrySend and virtual
952+ </li>
953+ <li>
954+ Added a MediaService subclass that is going to be used for all
955+ media/mime multipart enabled services (YouTube, Picasa)
956+ </li>
957+ <li>Fixed a memory leak related to the embedded gzip stream</li>
958+ <li>Fixed a parsing bug in the AtomLink class</li>
959+ <li>Fixed the build script for building ASP dlls. A corruption in
960+ the solution file resulted in those not being rebuild anymore since
961+ 1.1.3.1
962+ </li>
963+ <li>
964+ Fixed issue 120: cellQuery range and return-empty problem on empty
965+ cells. Created a set of new helpers on the feedQuery object that
966+ solve that issue.
967+ </li>
968+ <li>Fixed another round of FxCop violations. Where this has an external
969+ effect, this is noted below.
970+ <ul>
971+ <li>Changed Apps.IpWhiteListed to Apps.IPWhiteListed</li>
972+ </ul>
973+ </li>
974+ <li>
975+ Service.SetAuthenticationToken will now work for ClientLogin and
976+ AuthSub
977+ </li>
978+ <li>
979+ The PhotoBrowser sample application will no longer crash when photos
980+ can not be retrieved, or when you cancel the login screen.
981+ </li>
982+ </ul>
983+</ul>
984+
985+<h2>1.1.4.1</h2>
986+<ul>
987+ <li>Features</li>
988+ <ul>
989+ <li>Added PrimaryEmail, PrimaryPostalAddress, PrimaryPhonenumber
990+ and PrimaryIMAddress to the ContactEntry as convienience
991+ accessors</li>
992+ </ul>
993+ <li>Bugfixes</li>
994+ <ul>
995+ <li>Added the Recurrence class as an extension element back to the
996+ EventEntry</li>
997+ <li>Fixed the setup to put the contacts.cs file into the correct
998+ place, so that the SDK solution file would work</li>
999+ <li>Removed the default app.ico files from the sample solutions</li>
1000+ <li>Corrected a reference in the apps migration sample project</li>
1001+ <li>The setup program did not put the Access Control Extension into
1002+ the correct place, so some references might have been wrong</li>
1003+ <li>Fixed a bug in FeedQuery that would error if no uri was
1004+ precalculated</li>
1005+ </ul>
1006+
1007+</ul>
1008+
1009+<h2>1.1.4.0</h2>
1010+<ul>
1011+ <li>Features</li>
1012+ <ul>
1013+ <li>Moved the codebase to .NET 2.0. Note this means that gradually more
1014+ code will change to use generics and other .NET 2.0 only features.</li>
1015+ <li>Added project templates for VS 2005 that are installed by the
1016+ setup program. If you use the .zip download, copy the templates into
1017+ the VS 2005 template folder</li>
1018+ <li>The setup program now points VS 2005 to the lib/release path
1019+ for the Google DLLs. The DLLs are no longer installed in the
1020+ GAC</li>
1021+ <li>Implemented IComparable and equal operators for AtomId</li>
1022+ <li>Google Contacts support</li>
1023+ <li>
1024+ Added a GDataVersionConflictException that is thrown when you tried
1025+ to modified/update a resource and the server detected a version
1026+ conflict.
1027+ </li>
1028+ <li>
1029+ Added support for the hd parameter for AuthSubRequests, so that a
1030+ particular domain can be specified.
1031+ </li>
1032+ <li>
1033+ Added support for a UseSSL property on the FeedQuery class. If set,
1034+ requests are made against the https version of the feed, if
1035+ available. This is mostly relevant for hosted domains.
1036+ </li>
1037+ <li> Added a UriEncodeUnsafe to the Utilities class to help with
1038+ encoding of user emails during the URL construction</li>
1039+ <li>Added new VS 2005 solution files for all targets for the contacts library.</li>
1040+ </ul>
1041+ <li>Bugfixes/changes</li>
1042+ <ul>
1043+ <li>Changed a lot of codeplaces due to a new FxCop run. Where this
1044+ has a public, visible effect, it is noted below:</li>
1045+ <ul>
1046+ <li>removed the setter for CustomHeaders,
1047+ Google.GData.Client.GDataRequestFactory.CustomHeaders</li>
1048+ </ul>
1049+ <li>Updated to VS 2005 solution files. VS 2003 files are removed.</li>
1050+ <li>Changed documentation build to January Sandcastle release</li>
1051+ <li>Entry.SetAlternateUri was not setting the correct link
1052+ releationship and mediatype. </li>
1053+ <li>
1054+ small bugfixes to the base code (exceptions sometimes on missing attributes)
1055+ </li>
1056+ <li>Fixed a number of bugs in the calendar extension classes that
1057+ occured if you set new objects into the accessors</li>
1058+ <li>Fixed a crashing bug in the equal operator of the EnumConstruct
1059+ class</li>
1060+ <li>Fixed issue 105: Cannot add a reminder in a Recurring event using C# Calendar library</li>
1061+ <li>The Reminders property is now a typed generic collection</li>
1062+
1063+ </ul>
1064+
1065+
1066+
1067+<h2>1.1.3.0</h2>
1068+<ul>
1069+ <li>Features</li>
1070+ <ul>
1071+ <li>Added conditional Get support. The service object has an overloaded Query method now,
1072+ that allows you to pass a ifModifiedSince DateTime object into it.s</li>
1073+ <li>Added Authsub token revocation support. There is a new method
1074+ revokeToken in AuthsubUtil, similiar to the java class library</li>
1075+
1076+ </ul>
1077+ <li>Bugfixes/changes</li>
1078+ <li>Issue 93: ReFixed Title Exact Queries for Spreadsheets. Using
1079+ Title-Exact resulted in two question marks in the query string.</li>
1080+ <li>Fixed the GeoRSS where extension, which lived in a mistyped namespace.</li>
1081+ <li>Fixed the Latitude property, which was misspelled Lattitude</li>
1082+ <li>Added the Doclist assemblies to the setup program</li>s
1083+ <li>Added MediaGroup.Contents as a Collection: as there
1084+ could be more than one. So all previous usages should be changed
1085+ to access the first element in a collection. The old method will remain
1086+ in there.</li>
1087+ </ul>
1088+</ul>
1089+
1090+
1091+<h2>1.1.2.0</h2>
1092+<ul>
1093+ <li>Features</li>
1094+ <ul>
1095+ <li>The SpreadsheetEntry has a new property, Worksheets. This
1096+ property returns a WorksheetFeed object that can be used to
1097+ retrieve the Worksheets feed for a given Spreadsheet.</li>
1098+ <li>The SpreadsheetEntry has a new property, WorksheetsLink. This
1099+ property returns a string that can be used to retrieve the
1100+ Worksheets feed uri for a given Spreadsheet.</li>
1101+ <li>Added CreateBatchFeed to the Atomfeed object. This will create
1102+ a default batch feed for you, if the feed supports batching. The
1103+ created batch feed will contain all currently dirty entries.</li>
1104+ <li>Added a GDataBatchRequestException for that operation.</li>
1105+ <li>Added Delete(Uri uir) to the service interface.</li>
1106+ <li>Added more constructors to the CellEntry object, and moved
1107+ accessors for the CellEntry.Cell up to the CellEntry object. So
1108+ instead of writing CellEntry.Cell.Column, you can call
1109+ CellEntry.Column directly (and others).</li>
1110+ <li>Added an index accessor to the CellFeed, you can now access
1111+ Cells on the CellFeed like this: CellEntry entry = CellFeed[1,1].
1112+ This will retrieve not existing cells if needed.</li>
1113+ <li>Added QueryCellFeed() and QueryCellFeedLink(ReturnEmptyCells
1114+ parameter) to the WorksheetEntry. The method with no parameters will
1115+ get you the serverdefault cell feed.</li>
1116+ <li>Added the CellFeedLink property on the WorksheetEntry. This
1117+ returns the URI to the CellFeed as string.</li>
1118+ <li>Added an overloaded Insert method to the WorksheetFeed so that
1119+ you do not need to cast the return anymore.</li>
1120+ <li>Added support for the Apps Migration API. The Google Apps Email Migration API
1121+ allows administrators and users of Google Apps to migrate mail from legacy
1122+ email systems into their domain's hosted Gmail accounts.
1123+ Your client application can upload email messages into these
1124+ accounts using standard Google data API feeds.</li>
1125+ <li>Added the gapps_migration_sample: A simple application that demonstrates how to migrate
1126+ email messages to a Google Apps email account. See the readme file in the
1127+ samples/appsforyourdomain/migration directory for more details</li>
1128+
1129+ </ul>
1130+ <li>Bugfixes/changes</li>
1131+ <ul>
1132+ <li>When an entry was copied from one feed to another, the internal
1133+ service object was set incorrectly.</li>
1134+ <li>Added unittests for the new spreadsheet code.</li>
1135+ <li>Issue 90: Corrected the override for Equals and GetHashCode for an EnumConstruct</li>
1136+ <li>Issue 93: Fixed Title Exact Queries for Spreadsheets</li>
1137+ <li>Issue 94: Fixed some incorrect Exception handlings</li>
1138+ </ul>
1139+</ul>
1140+
1141+
1142+<h2>1.1.1.0</h2>
1143+
1144+<ul>
1145+ <li>Features</li>
1146+ <ul>
1147+ <li>Added an EventId property to the EventEntry object. This one
1148+ parses the atomId URI to just provided the EventId, which is used
1149+ elsewhere (e.g., for recurring events).</li>
1150+ <li>Added QueryAuthToken() on the service. If the Service is a
1151+ Google authenticated service, you can use this to obtain an
1152+ authentication token for ClientLogin</li>
1153+ <li>Added CreatePicasaUri helper on the PicasaQuery classes to
1154+ create a Uri based on a userID</li>
1155+ <li>Added new PhotoBrowser sample project. The resulting file PhotoTool.exe is produced
1156+ using the ILMerge tool from Microsoft (free download). That way, PhotoTool.exe is
1157+ a standalone application with no further assembly dependencies. </li>
1158+
1159+ </ul>
1160+ <li>Bugfixes/Changes</li>
1161+ <ul>
1162+ <li>Fixed the parsing of the OriginalEvent@id attribute. The
1163+ SimpleContainer parent class was broken in the sense that it did not
1164+ call the generic parsing method at all. So all SimpleContainers
1165+ would not have read in attributes, luckily OriginalEvent was the
1166+ only instance of this.</li>
1167+ <li>Fixed the OriginalStartTime get/set method which was using the
1168+ wrong constant of the OriginalEvent object.</li>
1169+ <li>Fixed the onclear() handler of the new extensionCollection base
1170+ class. It was incorrectly casting to When obects, which could cause
1171+ a runtime error when called.</li>
1172+ <li>Fixed a bug in the simplecontainer class that could lead to an
1173+ exception if the extension list was empty</li>
1174+ <li>Fixed a bug in Originalevent where the wrong prefix was
1175+ persisted, making saving an originalevent impossible</li>
1176+ <li>Fixed NULL response object being used for authentication exceptions.
1177+ Now the correct object used for the authentication request is passed
1178+ to the exception.</li>
1179+ <li>Changed the AuthException code to provide the status code
1180+ detail as well</li>
1181+ <li>CalendarEntry did use the wrong namespace to find the location
1182+ object, hence retrieval of a calendar location was broken.</li>
1183+ <li>Fixed ExtensionBase to not save NULL attributes as empty
1184+ strings. This could cause Picasa updates to fail.</li>
1185+ <li>Fixed MediaGroup to allow the retrieval of multiple Thumbnails.
1186+ Introduced the ThumbnailCollection for this. To enable this,
1187+ SimpleContainer and AtomBase now implement IExtensionContainer, a
1188+ common interface that encapsulates owning Extension elements.
1189+ </li>
1190+ <li> Added a default constructor to CalendarQuery so that you can
1191+ use it on .NET CF with a starting URI</li>
1192+ <li>Changed the Reminder element to send an empty one to enable
1193+ creation of default Reminders in the calendar</li>
1194+ </ul>
1195+</ul>
1196+
1197+<h2>1.1.0.0</h2>
1198+
1199+<ul>
1200+ <li>Features
1201+ <ul>
1202+ <li>
1203+ added GZip support for .NET 1.1, 2.0 and .NET Compact Framework 2.0.
1204+ </li>
1205+ <li>
1206+ added the ability to use authsubtokens to the ExecRequest utility (including
1207+ exchange of a onetime token to a session token). Just run ExecRequest for the
1208+ command line parameters, or read the help file page about it.
1209+ </li>
1210+ <li>
1211+ Support for Google Calendar WebContent Gadgets is included. A WebContent element
1212+ has a SortedList property to set and retrieve those preferences. See caltest.cs
1213+ for an example.
1214+ </li>
1215+ <li>
1216+ Picasa support:
1217+ <ul>
1218+ <li>Added all media extensions (media:rss, exif and photo></li>
1219+ <li>Added a PhotoEntry and PhotoFeed class that contain all of
1220+ those extensions</li>
1221+ <li>Added unittests to query an album and insert a new photo</li>
1222+ </ul>
1223+ </li>
1224+ <li> Added the QuickAdd feature for the Google Calendar. An EventEntry
1225+ has a QuickAdd boolean property. Setting it to true causes an insert to
1226+ be treated like a quickAdd operation.
1227+ </li>
1228+
1229+ <li>Added the webcontentlink class to the Google Calendar Support to enable
1230+ easier creation of Gadgets in calendars.</li>
1231+
1232+ <li>Batch support for Google Calendar</li>
1233+ <li>ASP .NET support for medium trust</li>
1234+
1235+ </ul></li>
1236+
1237+ <li>Changes and Bugfixes
1238+ <ul>
1239+ <li>
1240+ Complete refactoring of Apps extension to use the new extension system
1241+ (IExtensionElementFactory, AbstractEntry and AbstractFeed).
1242+ </li>
1243+
1244+ <li>
1245+ To enable ASP.NET hosting in medium trust, we removed the usage of the
1246+ NetworkCredentials class. From now on, credentials are either passed as username/password,
1247+ or using the GDataCredentials. (issue 57)
1248+ </li>
1249+ <li>
1250+ Changed "adminUserName" to "adminEmailAddress" in AppsService so that it's more
1251+ clear what information is actually required for this parameter.
1252+ </li>
1253+
1254+ <li>
1255+ fixed a Google Base issue (The server doesn't accept scientific notations for
1256+ floats)
1257+ </li>
1258+ <li>
1259+ fixed typo in the blogger sample (www..blogger), which made the sample hard to
1260+ use
1261+ </li>
1262+
1263+ <li>
1264+ make the GAuthToken property of the GAuthRequestFactory public. It was
1265+ mistakenly marked internal, so that the token could not be retrieved by a client
1266+ application for caching.
1267+ </li>
1268+ <li>
1269+ fixed a parsing issue that resulted in Batch Upload hanging if an unknown
1270+ element was encountered
1271+ </li>
1272+ <li>
1273+ added a helper method on AtomBase (entry and feed) to find exensionelements by
1274+ specifying a localname and an optional namespace (issue 81)
1275+ </li>
1276+ <li>
1277+ the extension mechanism was reworked by creating an ExtensionElementFactory
1278+ interface that takes care of parsing elements. ElementFactories are registered
1279+ on the AtomBase (entry and feed) level.
1280+ </li>
1281+ <li>
1282+ Fixed Issue 60, mulitple Reminders per Event. Note, that this introduces slight
1283+ changes when dealing with this. A new property, EventEntry.Reminders, was
1284+ created. The old property, EventEntry.Reminder, still exists, and only works on
1285+ the first Reminder in the list. Setting the old property will delete all
1286+ addtional reminders.The Reminders property is of type ArrayList (this is an
1287+ artifact of being .NET 1.1 compatible, once we move to .NET 2.0 or later, if
1288+ that ever happens, this could/should be typed).
1289+ </li>
1290+ <li>
1291+ Modified data model for Spreadsheets worksheets to make it easier to change and
1292+ construct associated meta-data
1293+ </li>
1294+ <li>
1295+ Added the ctz parameter to the EventQuery class. This parameter allows to
1296+ specify the timezone that is used to calculate start/end times for the returned
1297+ events
1298+ </li>
1299+ <li>
1300+ Added an AlternateUri Property on the AtomEntry class. This property
1301+ returns the AtomUri of a rel=alternate type=html LINK entry. As this is
1302+ similiar to the ill named LINK helper on the spreadsheet entry, that
1303+ helper was removed, as they do serve the same purpose, and the link
1304+ helper was read only.
1305+ </li>
1306+ <li>
1307+ Added an FeedUri Property on the AtomEntry class. This property
1308+ returns the AtomUri of a rel=#feed type=atom+xml LINK entry.
1309+ </li>
1310+ <li>
1311+ Added an MediaUri Property on the AtomEntry class. This property
1312+ returns the AtomUri of a rel=#edit-media type=atom+xml LINK entry.
1313+ </li>
1314+ <li>Added new methods on the AtomCategory collection. Find searches for a
1315+ category of a given term, or a term/scheme combination. Also changed the
1316+ implementation of the Contains method to compare not just object
1317+ fidelity, but also term/value pairs
1318+ </li>
1319+ <li>Added a ConvertToXSDSTring() helper in the Utilites class. As booleans
1320+ are represented as "True"/"False" in .NET, and xsd requires
1321+ "true"/"false" this helper takes care of that conversion.
1322+ </li>
1323+ <li>Added the ability to create custom AtomBase subclassed objects to
1324+ custom feeds/entries. Look at CreateAtomSubElement() in AtomBase. This
1325+ is used to create custom clases like WebContentLink in the derived
1326+ services</li>
1327+ </ul></li>
1328+
1329+</ul>
1330+
1331+<h2>1.0.9.9</h2>
1332+<ul>
1333+ <li>
1334+ added GBase support for m:adjusted_name and gm:adjusted_value inside attributes
1335+ (returned only when adjustments are enabled)
1336+ <li>
1337+ Google Apps changes:
1338+ <ul>
1339+ <li>
1340+ Added new AppsService.createUser methods with hashed password support
1341+ <li>
1342+ Updated AppsException with new Google Apps error codes
1343+ <li>
1344+ Added the following properties to Login.cs: string hashFunctionName
1345+ <li>
1346+ to hash user account password, bool agreedToTerms
1347+ <li>
1348+ to see if the user has accepted the Google Apps Terms Of Service, bool admin
1349+ <li>
1350+ to see if the user is a domain admin, bool changePasswordAtNextLogin
1351+ <li>
1352+ to force the user to change password at next login
1353+ <li>
1354+ Updated unittests to test new properties
1355+ </ul>
1356+</ul>
1357+
1358+<h2>1.0.9.8</h2>
1359+<ul>
1360+ <li>
1361+ fixed a parsing bug in SpreadsheetService
1362+ <li>
1363+ fixed a bug in GDataRequestException that would prevent AppsException from
1364+ accessing the server's response.
1365+ <li>
1366+ modified AppsException to comply with new GDataRequestException
1367+ <li>
1368+ fixed a bug in CalculateBaseUri, that caused a crash if the passed in parameters
1369+ are all NULL. This caused composite feeds to not load if there was a comment
1370+ feed embedded
1371+ <li>
1372+ fixed a bug in the CalendarEventEntry, it was not parsing extendedProperties.
1373+ They are now parsed and added correctly to the ExtensionElements
1374+ <li>
1375+ added ACL support. This resulted in changes in the CalendarService.Query method
1376+ <li>
1377+ as a CalendarService can now return an EventFeed or an AccessControlFeed is
1378+ returns now an AtomFeed that you can cast to what you are expecting. Added Query
1379+ overloads to accept EventQuery or AclQuery and return the appropriate Feeds
1380+ <li>
1381+ added a cmd line tool to query/insert/update to a service based on streams
1382+ <li>
1383+ modified the Spreadsheet service to use the new scheme of service subclassing.
1384+ This should fix a bundle of issues with regard to entry castings.
1385+ <li>
1386+ changed persistence of gd:extendedProperty to save the value attribute, even if
1387+ there is no data to persist
1388+ <li>
1389+ Added an ASP.NET release (lib/ASP.NET) where the DLLs are build with the
1390+ AllowPartiallyTrustedCallers attribute n enabled. Please use with caution and
1391+ refer to the readme.txt in that subdirectory for more information.
1392+</ul>
1393+
1394+<h2>1.0.9.7</h2>
1395+<ul>
1396+ <li>
1397+ fixed an incorrect trace statement in request.cs that had the result of
1398+ disabling reading the error response.
1399+</ul>
1400+
1401+<h2>1.0.9.6</h2>
1402+<ul>
1403+ <li>
1404+ added Google Apps for Your Domain support, a new helper DLL Google.GData.Apps.dll,
1405+ and a sample, as well as unittests. Version number is increased to distinguish
1406+ from Subversion, as this will be a binary download as well.
1407+</ul>
1408+
1409+<h2>1.0.9.5</h2>
1410+<ul>
1411+ <li>
1412+ fix for incorrect encoding of usernames/passwords during authentication (you
1413+ could run into problems if you had an email like "foo&joe@test.com"
1414+ <li>
1415+ exposure of the accountType as a property on the factory. If you happen to have
1416+ an identical user name for a Google account and a hosted account, you need to
1417+ set this property depending on which account you want to access. Default is
1418+ GOOGLE_OR_HOSTED, other values are GOOGLE or HOSTED as strings.
1419+ <li>
1420+ fixed an issue with the edit/self uris on the entry. They were not correctly
1421+ setable.
1422+ <li>
1423+ fixed an issue that one you used an authenticated service, but did not supply
1424+ credentials, we would send an empty authentication header.
1425+ <li>
1426+ added Captcha Handling and more detailed exceptions when the authentication
1427+ request fails. See authexceptions.cs for the list of potential exceptions thrown
1428+ <li>
1429+ added some preliminary unittests for the new exceptions
1430+ <li>
1431+ added a new constructor for the TokenCollection, so that captcha parsing is
1432+ handled correctly
1433+ <li>
1434+ made the debug output depending on the TRACE define, and removed that define for
1435+ the release build
1436+</ul>
1437+
1438+<h2>1.0.9.4</h2>
1439+<ul>
1440+ <li>
1441+ Google Base: fix for incorrect Price attribute behaviour
1442+ <li>
1443+ Google Base: fix for incorrectly persisting duplicate attributes
1444+ <li>
1445+ Fix for Content.Type having no default value (issue 41)
1446+ <li>
1447+ Fix for Content.Type="text/html" parsing incorrectly. The strict check for type=
1448+ "text" is now relaxed to be type="text*", so all text subtypes will be treated
1449+ the same
1450+ <li>
1451+ Fix for Content.Type = "html" and "text/html" persistence. What the code does
1452+ now is: first HTMLDecode the value held, than run the standard XMLWriter.WriteString
1453+ over it (which does HTML encoding). This seems to work fine.
1454+ <li>
1455+ Added the gm:stats tags to the Windows Mobile build, accidently forgot to change
1456+ that project file
1457+ <li>
1458+ the calendarfeed discarded entries unknown to it in the calendar namespace. This
1459+ is fixed now. Unknown entries to the parser are now correctly added to the
1460+ extension elements.
1461+ <li>
1462+ added the return-empty parameter to the cellquery class
1463+ <li>
1464+ added URL encoding to the authentication parameters (username/passwords etc that
1465+ had unallowed FORM post chars caused failed login attempts)
1466+</ul>
1467+
1468+
1469+
1470+<h2>1.0.9.3</h2>
1471+<ul>
1472+ <li>
1473+ Google Base changes: New features:
1474+ <ul>
1475+ <li>
1476+ GBaseQuery supports the following optional parameters; orderby, sortorder,
1477+ refine and content
1478+ <li>
1479+ Support for gm:stats tags
1480+ <li>
1481+ GBaseUriFactory can now generate the feed uri of other customers
1482+ Fixes:
1483+ <li>
1484+ Fixed the GBaseAttributeType hierarchy for date/dateTime/dateTimeRange
1485+ <li>
1486+ Fixed the type of the hardcoded ExpirationDate property in GBaseAttributes
1487+ </ul>
1488+ <li>
1489+ Added a Makefile for Mono builds. This one replaces the Ant file.
1490+</ul>
1491+
1492+<h2>1.0.9.2</h2>
1493+<ul>
1494+ <li>
1495+ Removed the MethodOverride default for the CalendarService. If you need that (due
1496+ to firewalls not allowing PUT/DELETE requests, you can reenable this with
1497+ setting the MethodOverride flag on the factory: ((GDataGAuthRequestFactory)calsvc.RequestFactory).MethodOverride
1498+ = false;
1499+ <li>
1500+ Changed the X-Method-Override behaviour for DELETE, to fix an issue with .NET
1501+ mobile (the mobile client would crash when the contentLength was set to 0 and no
1502+ stream was requested).
1503+</ul>
1504+
1505+<h2>1.0.9.1</h2>
1506+<li>
1507+ Added a KeepAlive property to the factory object. This is set to true by default.
1508+ .NET 2.0 clients, are due to behaviour changes in that runtime encouraged to set
1509+ this to false.
1510+
1511+ <h2>1.0.9</h2>
1512+<li>
1513+ Fixed an issue where the login services changed the response contenttype. The
1514+ check for text/plain is now more relaxed.
1515+<li>
1516+ Added the missing location calls for Geolocation for GoogleBase
1517+<li>
1518+ Fixed a build issue for Windows Mobile in release. The code now compiles for
1519+ PocketPC and WindowsMobile symbols defined.
1520+ <h2>1.0.8</h2>
1521+<li>
1522+ Fixed issue 13 from the public issue list. If a content element contained xhtml,
1523+ and not just text, the content was not read correctly.
1524+<li>
1525+ Fixed issue 17 from the public issue list. XHTML content was not persisted
1526+ correctly.
1527+<li>
1528+ Added support for hosted domain feeds. This is done automatically, no
1529+ codechanges needed for the application developer. The authentication code was
1530+ changed to ask for Hosted domains first, then google accounts.
1531+<li>
1532+ Added support for the app:control/app:draft element, but only in the way to
1533+ expose a boolean on the AtomEntry. The new member on AtomEntry is called IsDraft.
1534+<li>
1535+ Changed the way atom:content is parsed. Text & HTML types use xmlreader.ReadString()
1536+ to get the inner content. XHTML and all other types use readInnerXml() to get
1537+ the content.
1538+<li>
1539+ changed Exception handling. The code now throws more detailed exceptions based
1540+ on what was happening: -> GDataRequestException: generic exception ->
1541+ GDataForbiddenException: exception thrown when the server return a Forbidden on
1542+ authentication -> GDataRedirectException: exception thrown when the server
1543+ returned a redirect
1544+<li>
1545+ changed redirect handling on Post. The library will follow redirects on Post
1546+ automatically by default, to accomodate Blogger (which currently may return 302s
1547+ on posts). This can be turned off by setting the .StrictRedirect property to
1548+ true on the GDataAuthRequestFactory. If it is turned off, the code will throw if
1549+ a redirect is happening on an HTTP verb other than GET.
1550+<li>
1551+ changed redirect handling for DELETE/PUT the same as for POST
1552+<li>
1553+ removed cookie handling. The code will handle cookies now without using the
1554+ CookieContainer (one hurdle on the way to the CompactFramework Port).
1555+<li>
1556+ Fixed persistence of "initialized" date values for udpated/published on the atom.entry.
1557+ This resolves an issue with the Blogger.
1558+<li>
1559+ Added EventEntry.Notifications. This property (boolean) indicates if an update
1560+ on an entry should send notifications to the attendees of the Event.
1561+<li>
1562+ Fixed the gbase project (the NumberFormat.cs file was missing in the project
1563+ file).
1564+<li>
1565+ Added a proxy property for the GDataRequestFactory.
1566+<li>
1567+ Setting content-length correctly to fix WindowsMobile issues. This fix is a user
1568+ submitted, and created by Steeve Morin
1569+<li>
1570+ Fixes to the authsub code, provided by Ryan Boyd
1571+<li>
1572+ The DLLs were renamed, to follow the Windows .NET standard. gdata.dll ->
1573+ Google.GData.Client.dll gbase.dll -> Google.GData.GoogleBase.dll
1574+ gcalendar.dll -> Google.GData.Calendar.dll gcodesearch.dll -> Google.GData.CodeSearch.dll
1575+ gextensions.dll -> Google.GData.Extensions.dll and the new one ->
1576+ Google.GData.Spreadsheets.dll
1577+
1578+
1579+ <h2>1.0.7</h2>
1580+<li>
1581+ Added support for published-min/published-max as standard query parameters
1582+<li>
1583+ Added support for codesearch. A new DLL gcodesearch.dll and a new sample for
1584+ this is available.
1585+<li>
1586+ Added support for the WebContent calendar extension
1587+<li>
1588+ Added signing to the gbase.dll
1589+ <h2>1.0.6</h2>
1590+<li>
1591+ Added support for sortoder, futurevents, singleevents on the calendarquery
1592+<li>
1593+ Added a ResponseString property on the GDataRequestException to make debugging
1594+ server side errors easier
1595+<li>
1596+ Fixed an issue with the GoogleBaseService, if you did set the RequestFactory
1597+ property twice, you would create too many header entries, and hence end up with
1598+ request denied responses
1599+<li>
1600+ Added the shipping attribute for GoogleBase
1601+<li>
1602+ Changed the payment attribute to payment_accepted for GoogleBase
1603+ <h2>1.0.5</h2>
1604+<li>
1605+ Added batch support for GoogleFeeds, the first property to support this is the
1606+ GoogleBase product
1607+<li>
1608+ Added a unittest for GoogleBase. This code shows update/insert/delete against
1609+ base for single entries and batch entries refer to clients/cs/src/unittests/gbase.cs
1610+ for sample code.
1611+<li>
1612+ Added IComparable to atomuri.cs (based on a feature request on our issue list)
1613+<li>
1614+ GDataAuthRequestFactory is now a subclass of GDataRequestFactory
1615+<li>
1616+ Moved GCookies from GDataAuthRequestFactory to GDataRequestFactory and renamed
1617+ it to Cookies
1618+<li>
1619+ removed the debug binaries from the lib directory
1620+<li>
1621+ added a GoogleBase sample application in VB !
1622+<li>
1623+ added the build executables to the lib directory
1624+<li>
1625+ added GoogleBase classes (similiar to the java classes) to access Google base
1626+ specific feeds
1627+ Known issues:
1628+<li>
1629+ recurrenceException is not fully tested
1630+<li>
1631+ authsubutil and gauthsubrequest are not fully tested
1632+
1633+ <h2>1.0.4</h2>
1634+<li>
1635+ Fixed a .NET 2.0 issue in calendarservice.cs, that dropped connections during
1636+ repeated calls.
1637+<li>
1638+ Made the execution path more robust.
1639+<li>
1640+ Added a property, numberOfRetries on the GAuthRequestFactory to indicate how
1641+ often an Execution should be retried if the server returns an error.
1642+<li>
1643+ Fixed a bug in the daterange query creation (the +sign for the timezone was not
1644+ escaped properly)
1645+<li>
1646+ Fixed an issue with updating, where if you used the same AtomEntry/EventEntry
1647+ several times to update, it could happen that extension elements were doubled,
1648+ and the update failed.
1649+<li>
1650+ Fixed a bug in the parsing of all elements. This could cause an endless loop
1651+ when the content was empty.
1652+<li>
1653+ Fixed several content creation issues (issues 5-9 on the issue list)
1654+<li>
1655+ added support for the gd:extendedProperty
1656+<li>
1657+ Added a calendar example application
1658+<li>
1659+ added a sample application to access Blogger feeds, and post to blogger feeds.
1660+ Known issues:
1661+<li>
1662+ recurrenceException is not fully tested
1663+<li>
1664+ authsubutil and gauthsubrequest are not fully tested Solved issues:
1665+<li>
1666+ .NET 2.0 seems to loose resources in some circumstances. Hard to reproduce.
1667+
1668+
1669+ <h2>1.0.3</h2>
1670+<li>
1671+ Fixed the namespace creation for extensions, the wireformat should no longer
1672+ create the namespace declaration when it's not required
1673+<li>
1674+ Fixed the reminder persistence code
1675+<li>
1676+ added a TimeZone property on the EventFeed to retrieve the timezone value
1677+<li>
1678+ added a FindEvent method on the EventFeed. This one takes an OriginalEvent
1679+ object, and returns the Event that this is based on. This will go to the server
1680+ if required.
1681+<li>
1682+ Fixed recurrance issues in the extensions
1683+<li>
1684+ Moved EventFeed and EventEntry from the Google.GData.Extensions namespace to the
1685+ Google.GData.Calendar namespace
1686+<li>
1687+ Fixed a bug in the parsing of Atom:Content elements. This could cause an endless
1688+ loop when the content was empty.
1689+ <h2>1.0.2</h2>
1690+<li>
1691+ Fixed a problem persisting feedlink elements
1692+<li>
1693+ added an AllDay flag to the When class to allow parsing and persting of all day
1694+ events
1695+<li>
1696+ cleaned up the persistence code in the extension classes
1697+<li>
1698+ fixed a problem that resulted in persisting multiple extensionn objects instead
1699+ of one
1700+<li>
1701+ added a timestamp method to the Tracing class to help measuring performance in
1702+ simple cases
1703+ <h2>1.0.1</h2>
1704+<li>
1705+ Correctly uses 'rel.previous' instead of 'rel.prev' as required by Atom
1706+ Publishing Protocol.
1707+<li>
1708+ Corrected the time-shift portion of the DateTime output for time zones with a
1709+ negative shift from UTC.
1710+<li>
1711+ Corrected the time-shift to permit fractional hour shifts from UTC.
1712+<li>
1713+ Correctly output "startTime" and "endTime" as attributes of the "when" extension
1714+ rather than child elements.
1715+<li>
1716+ Refactored class hierarchy, now based on IExtensionElement.
1717+ <h2>1.0.0</h2>
1718+<li>
1719+ Initial Release
1720+
1721+
1722+ </html>
1723
1724=== added directory 'BundledLibraries/libgoogle-data-mono-1.4.0.2/Templates'
1725=== added directory 'BundledLibraries/libgoogle-data-mono-1.4.0.2/Templates/ItemTemplates'
1726=== added directory 'BundledLibraries/libgoogle-data-mono-1.4.0.2/Templates/ProjectTemplates'
1727=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/Templates/ProjectTemplates/Google Base.zip'
1728Binary files BundledLibraries/libgoogle-data-mono-1.4.0.2/Templates/ProjectTemplates/Google Base.zip 1970-01-01 00:00:00 +0000 and BundledLibraries/libgoogle-data-mono-1.4.0.2/Templates/ProjectTemplates/Google Base.zip 2009-03-15 16:30:10 +0000 differ
1729=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/Templates/ProjectTemplates/Google Calendar.zip'
1730Binary files BundledLibraries/libgoogle-data-mono-1.4.0.2/Templates/ProjectTemplates/Google Calendar.zip 1970-01-01 00:00:00 +0000 and BundledLibraries/libgoogle-data-mono-1.4.0.2/Templates/ProjectTemplates/Google Calendar.zip 2009-03-15 16:30:10 +0000 differ
1731=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/Templates/ProjectTemplates/Google Contacts.zip'
1732Binary files BundledLibraries/libgoogle-data-mono-1.4.0.2/Templates/ProjectTemplates/Google Contacts.zip 1970-01-01 00:00:00 +0000 and BundledLibraries/libgoogle-data-mono-1.4.0.2/Templates/ProjectTemplates/Google Contacts.zip 2009-03-15 16:30:10 +0000 differ
1733=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/Templates/ProjectTemplates/Google Documents List.zip'
1734Binary files BundledLibraries/libgoogle-data-mono-1.4.0.2/Templates/ProjectTemplates/Google Documents List.zip 1970-01-01 00:00:00 +0000 and BundledLibraries/libgoogle-data-mono-1.4.0.2/Templates/ProjectTemplates/Google Documents List.zip 2009-03-15 16:30:10 +0000 differ
1735=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/Templates/ProjectTemplates/Google Health.zip'
1736Binary files BundledLibraries/libgoogle-data-mono-1.4.0.2/Templates/ProjectTemplates/Google Health.zip 1970-01-01 00:00:00 +0000 and BundledLibraries/libgoogle-data-mono-1.4.0.2/Templates/ProjectTemplates/Google Health.zip 2009-03-15 16:30:10 +0000 differ
1737=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/Templates/ProjectTemplates/Google Picasa.zip'
1738Binary files BundledLibraries/libgoogle-data-mono-1.4.0.2/Templates/ProjectTemplates/Google Picasa.zip 1970-01-01 00:00:00 +0000 and BundledLibraries/libgoogle-data-mono-1.4.0.2/Templates/ProjectTemplates/Google Picasa.zip 2009-03-15 16:30:10 +0000 differ
1739=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/Templates/ProjectTemplates/Google Spreadsheets.zip'
1740Binary files BundledLibraries/libgoogle-data-mono-1.4.0.2/Templates/ProjectTemplates/Google Spreadsheets.zip 1970-01-01 00:00:00 +0000 and BundledLibraries/libgoogle-data-mono-1.4.0.2/Templates/ProjectTemplates/Google Spreadsheets.zip 2009-03-15 16:30:10 +0000 differ
1741=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/Templates/ProjectTemplates/Google YouTube.zip'
1742Binary files BundledLibraries/libgoogle-data-mono-1.4.0.2/Templates/ProjectTemplates/Google YouTube.zip 1970-01-01 00:00:00 +0000 and BundledLibraries/libgoogle-data-mono-1.4.0.2/Templates/ProjectTemplates/Google YouTube.zip 2009-03-15 16:30:10 +0000 differ
1743=== added directory 'BundledLibraries/libgoogle-data-mono-1.4.0.2/contrib'
1744=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/gzip-mono-howto.txt'
1745--- BundledLibraries/libgoogle-data-mono-1.4.0.2/gzip-mono-howto.txt 1970-01-01 00:00:00 +0000
1746+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/gzip-mono-howto.txt 2009-03-15 16:30:10 +0000
1747@@ -0,0 +1,39 @@
1748+ *** How to use GZip with Mono ***
1749+
1750+ Because the Google.GData.Client.GZipStream implementation relies on zlib,
1751+we decided to ship our own compiled version with the library, for both Windows
1752+and Windows Mobile. However, we can't possibly ship binaries for each platform
1753+supported by Mono. Here are the instructions to use GZip with Mono.
1754+
1755+ You first need to obtain zlib v1.2.3 (version 1.2.3 is *VERY* important,
1756+it simply WON'T work if you try to use another version) at http://www.zlib.net,
1757+or http://www.zlib.net/zlib-1.2.3.tar.gz. Then, issue the following commands:
1758+
1759+ $ make clean
1760+ $ ./configure -s
1761+ $ make
1762+
1763+ This will build libz.so.1.2.3 that will be needed by the library. If you
1764+want you can issue a "make install" to install the library to your library
1765+path. If you don't want to install, just put the libz.so.1.2.3 file in the
1766+same directory as Google.GData.Client.dll.
1767+
1768+ That done, you only need to do one last thing, drop the
1769+Google.GData.Client.dll.config file found in clients/cs/misc in the same
1770+directory as Google.GData.Client.dll file.
1771+
1772+ Finally, to check everything is alright, run the following:
1773+
1774+ $ nunit-console2 /fixture=Google.GData.Client.UnitTests.GZipStreamTest\
1775+ unittests.dll
1776+
1777+ You can also run the tests against the live server (careful to configure
1778+unittests.dll.config before!) using:
1779+
1780+ $ nunit-console2 /fixture=Google.GData.Client.LiveTests.GZipTestSuite\
1781+ unittests.dll
1782+
1783+ And there you are :)
1784+
1785+NB:
1786+ zlib-1.2.3.tar.gz: 485K, MD5 checksum debc62758716a169df9f62e6ab2bc634
1787\ No newline at end of file
1788
1789=== added directory 'BundledLibraries/libgoogle-data-mono-1.4.0.2/misc'
1790=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/GDataProject.shfb'
1791--- BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/GDataProject.shfb 1970-01-01 00:00:00 +0000
1792+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/GDataProject.shfb 2009-03-15 16:30:10 +0000
1793@@ -0,0 +1,170 @@
1794+<project schemaVersion="1.6.0.2">
1795+ <assemblies>
1796+ <assembly assemblyPath="..\lib\Release\Google.GData.AccessControl.dll" xmlCommentsPath="..\docs\gacl.xml" commentsOnly="False" />
1797+ <assembly assemblyPath="..\lib\Release\Google.GData.Apps.dll" xmlCommentsPath="..\docs\gapps.xml" commentsOnly="False" />
1798+ <assembly assemblyPath="..\lib\Release\Google.GData.Calendar.dll" xmlCommentsPath="..\docs\gcal.xml" commentsOnly="False" />
1799+ <assembly assemblyPath="..\lib\Release\Google.GData.Client.dll" xmlCommentsPath="..\docs\gdata.xml" commentsOnly="False" />
1800+ <assembly assemblyPath="..\lib\Release\Google.GData.CodeSearch.dll" xmlCommentsPath="..\docs\gcodesearch.xml" commentsOnly="False" />
1801+ <assembly assemblyPath="..\lib\Release\Google.GData.Contacts.dll" xmlCommentsPath="..\docs\gcontacts.xml" commentsOnly="False" />
1802+ <assembly assemblyPath="..\lib\Release\Google.GData.Documents.dll" xmlCommentsPath="..\docs\gdocuments.xml" commentsOnly="False" />
1803+ <assembly assemblyPath="..\lib\Release\Google.GData.Extensions.dll" xmlCommentsPath="..\docs\gextension.xml" commentsOnly="False" />
1804+ <assembly assemblyPath="..\lib\Release\Google.GData.GoogleBase.dll" xmlCommentsPath="..\docs\gbase.xml" commentsOnly="False" />
1805+ <assembly assemblyPath="..\lib\Release\Google.GData.Health.dll" xmlCommentsPath="..\docs\health.xml" commentsOnly="False" />
1806+ <assembly assemblyPath="..\lib\Release\Google.GData.Photos.dll" xmlCommentsPath="..\docs\gphotos.xml" commentsOnly="False" />
1807+ <assembly assemblyPath="..\lib\Release\Google.GData.Spreadsheets.dll" xmlCommentsPath="..\docs\gspreadsheet.xml" commentsOnly="False" />
1808+ <assembly assemblyPath="..\lib\Release\Google.GData.YouTube.dll" xmlCommentsPath="..\docs\youtube.xml" commentsOnly="False" />
1809+ </assemblies>
1810+ <namespaceSummaries>
1811+ <namespaceSummaryItem name="" isDocumented="False" />
1812+ <namespaceSummaryItem name="Google.Contacts" isDocumented="True">This namespace contains helper classes to ease the development of Google Contacts based applications. They are used in the samples and the project templates. You can find usage scenarios of those helper clasess in the unittests for contacts as well as in the project template for it.</namespaceSummaryItem>
1813+ <namespaceSummaryItem name="Google.Documents" isDocumented="True">This namespace contains helper classes to ease the development of Google Documents based applications. They are used in the samples and the project templates. You can find usage scenarios of those helper clasess in the unittests for documents as well as in the project template for it.</namespaceSummaryItem>
1814+ <namespaceSummaryItem name="Google.GData.AccessControl" isDocumented="True">This namespace contains elements and methods to deal with AccessControl lists. AccessControl lists are used, for example, in the Google Calendar to enable authorization and security on a per calendar level</namespaceSummaryItem>
1815+ <namespaceSummaryItem name="Google.GData.Apps" isDocumented="True">Google Apps allows website administrators to offer their users cobranded versions of a variety of personalized Google applications, such as Gmail. This document describes the Google Apps Provisioning API, which enables Google partners to programmatically enable access to these applications. Specifically, the API provides functions for creating, retrieving, updating and deleting user accounts, nicknames and email lists.
1816+
1817+This version of the Provisioning API follows the principles of the Google Data (GData) APIs. GData APIs are based on both the Atom 1.0 and RSS 2.0 syndication formats in addition to the Atom Publishing Protocol. Learn more about GData APIs.
1818+
1819+Note: The Provisioning API is only available to Google Apps Premier Edition and Google Apps Education Edition partners. To enable the API, log in to your admin account, and click the User accounts tab. Then click the Settings subtab to enable the API, select the checkbox to enable the Provisioning API and save your changes. (You will need to complete the steps for setting up Google Apps before you can log in to your admin account.)</namespaceSummaryItem>
1820+ <namespaceSummaryItem name="Google.GData.Apps.GoogleMailSettings" isDocumented="True" />
1821+ <namespaceSummaryItem name="Google.GData.Apps.Groups" isDocumented="True" />
1822+ <namespaceSummaryItem name="Google.GData.Apps.Migration" isDocumented="True">The Google Apps Email Migration API allows administrators and users of Google Apps to migrate mail from legacy email systems into their domain's hosted Gmail accounts. Your client application can upload email messages into these accounts using standard Google data API feeds.</namespaceSummaryItem>
1823+ <namespaceSummaryItem name="Google.GData.Calendar" isDocumented="True">Google Calendar allows client applications to view and update calendar events in the form of Google data API ("GData") feeds. Your client application can use the Google Calendar data API to create new events, edit or delete existing events, and query for events that match particular criteria.</namespaceSummaryItem>
1824+ <namespaceSummaryItem name="Google.GData.Client" isDocumented="True">This is the core namespace that contains most base classes to deal with feed authentication and general Atom based parsing. You can use classes from this namespace to deal with all kind of Google properties, you just won't get special data access objects to handle custom attributes.</namespaceSummaryItem>
1825+ <namespaceSummaryItem name="Google.GData.Client.Samples" isDocumented="True">This is documentation for the provided Sample applications</namespaceSummaryItem>
1826+ <namespaceSummaryItem name="Google.GData.CodeSearch" isDocumented="True">The Google Code Search data API allows client and web applications to search public source code for function definitions and sample code.
1827+
1828+Here are some of the things you can do with the Code Search data API:
1829+
1830+ * Create a plugin for your favorite IDE that searches over the Code Search index for relevant sample code.
1831+ * Create client applications that use Google Code Search to find function definitions and sample code.</namespaceSummaryItem>
1832+ <namespaceSummaryItem name="Google.GData.Contacts" isDocumented="True">The Google Contacts Data API allows client applications to view and update Contacts content in the form of Google Data API feeds. Your client application can request a list of a user's contacts, edit or delete content in an existing contact, and query the content in an existing contact. Here are some of the things you can do with the Contacts Data API:
1833+ - Synchronize Google contacts with contacts on a mobile device
1834+- Maintain relationships between people in social applications
1835+- Give users the ability to communicate directly with their friends from external applications using phone, email, and IM</namespaceSummaryItem>
1836+ <namespaceSummaryItem name="Google.GData.Documents" isDocumented="True">The Google Documents List Data API allows client applications to view and search through documents stored in Google Documents using Google Data API feeds. Your client application can request a list of a user's word processing documents and/or spreadsheets and upload existing documents to Google Documents.</namespaceSummaryItem>
1837+ <namespaceSummaryItem name="Google.GData.Extensions" isDocumented="True">This namespace contains common extension elements that are used accross several Google Data API enabled properties</namespaceSummaryItem>
1838+ <namespaceSummaryItem name="Google.GData.Extensions.AppControl" isDocumented="True">This namespace contains the AtomPublishing control elements</namespaceSummaryItem>
1839+ <namespaceSummaryItem name="Google.GData.Extensions.Apps" isDocumented="True">Extensions for the Apps Provisioning API</namespaceSummaryItem>
1840+ <namespaceSummaryItem name="Google.GData.Extensions.Exif" isDocumented="True">Picasa Web Albums uses the exif namespace to represent Exif data encoded in a photo. The schema URL for the exif namespace is http://schemas.google.com/photos/exif/2007.
1841+
1842+The exif elements all appear inside the container element called tags
1843+
1844+Picasa Web Albums uses the following exif elements:
1845+
1846+ 1. exif:distance
1847+ 2. exif:exposure
1848+ 3. exif:flash
1849+ 4. exif:focallength
1850+ 5. exif:fstop
1851+ 6. exif:imageUniqueID
1852+ 7. exif:iso
1853+ 8. exif:make
1854+ 9. exif:model
1855+ 10. exif:tags
1856+ 11. exif:time</namespaceSummaryItem>
1857+ <namespaceSummaryItem name="Google.GData.Extensions.Location" isDocumented="True">Picasa Web Albums uses the georss and gml namespaces for elements defined in the GeoRSS and Geography Markup Language specifications.
1858+
1859+Note: Despite the name "GeoRSS," the Picasa Web Albums data API uses elements from these namespaces in both Atom and RSS feeds.
1860+
1861+Specifically, Picasa Web Albums uses the following elements:
1862+
1863+ 1. georss:where
1864+ 2. gml:Point
1865+ 3. gml:pos
1866+
1867+Picasa Web Albums also accepts geographic-location data in two other formats: W3C format and plain-GeoRSS (without GML) format. But those formats are beyond the scope of this document. All geo data that appears in feeds generated by Picasa Web Albums uses the GeoRSS-plus-GML format documented here.</namespaceSummaryItem>
1868+ <namespaceSummaryItem name="Google.GData.Extensions.MediaRss" isDocumented="True">Picasa Web Albums uses the media namespace for elements defined in the Media RSS specification. For information about the media namespace, see the Media RSS specification.
1869+
1870+Note: Despite the name "Media RSS," the Picasa Web Albums data API uses elements from the media namespace in both Atom and RSS feeds.
1871+
1872+Picasa Web Albums uses the following media elements:
1873+
1874+ 1. media:content
1875+ 2.
1876+ 3. media:credit
1877+ 4. media:description
1878+ 5. media:group
1879+ 6. media:keywords
1880+ 7. media:thumbnail
1881+ 8. media:title</namespaceSummaryItem>
1882+ <namespaceSummaryItem name="Google.GData.GoogleBase" isDocumented="True">The Google Base data API is designed to enable developers to do two things:
1883+ Query Google Base data to create applications and mashups.
1884+ Input and manage Google Base items programmatically.</namespaceSummaryItem>
1885+ <namespaceSummaryItem name="Google.GData.Health" isDocumented="True">The Google Health Data API allows client applications to view and send Health content in the form of Google Data API feeds. Your client application can use the Health Data API to create new medical records, request a list of medical records and query for medical records that match particular criteria.
1886+
1887+Here are some of the things you can do with the Health Data API:
1888+Upload patient medical records
1889+Get patient medical data and provide personalized functionality based on that data</namespaceSummaryItem>
1890+ <namespaceSummaryItem name="Google.GData.Photos" isDocumented="True">The Picasa Web Albums data API allows client applications to view and update Picasa Web Albums content in the form of Google data API ("GData") feeds. Your client application can request a list of a user's albums, photos, comments, or tags, edit or delete content in an existing entry, and query the content in an existing entry.
1891+
1892+Here are some of the things you can do with the Picasa Web Albums data API:
1893+
1894+ * Include your public photos in your own web page, and allow users to comment on them (and have the comments stored in Picasa Web Albums).
1895+ * Write a plugin to manage your albums and photos from a desktop or mobile phone client.
1896+ * Create a custom screensaver to display your Picasa Web Albums photos on your computer.</namespaceSummaryItem>
1897+ <namespaceSummaryItem name="Google.GData.Spreadsheets" isDocumented="True">The Google Spreadsheets data API allows client applications to view and update Spreadsheets content in the form of Google data API ("GData") feeds. Your client application can request a list of a user's spreadsheets, edit or delete content in an existing Spreadsheets worksheet, and query the content in an existing Spreadsheets worksheet.
1898+
1899+Here are some of the things you can do with the Spreadsheets data API:
1900+
1901+ * Use a spreadsheet as a database and access data for another application via the Spreadsheets data API.
1902+ * Use an external graphing library with the Spreadsheets data API to add nice looking graphs to your site.
1903+ * Implement auto-filtering and other spreadsheet functionality in an application you build for your users.</namespaceSummaryItem>
1904+ <namespaceSummaryItem name="Google.GData.YouTube" isDocumented="True">YouTube offers open access to key parts of the YouTube video repository and user community, via an open API interface and RSS feeds. Using our APIs, you can easily integrate online videos from YouTube's rapidly growing repository of videos into your application.</namespaceSummaryItem>
1905+ <namespaceSummaryItem name="Google.Spreadsheets" isDocumented="False" />
1906+ <namespaceSummaryItem name="Google.YouTube" isDocumented="True">This namespace contains helper classes to ease the development of YouTube based applications. They are used in the samples and the project templates. You can find usage scenarios of those helper clasess in the unittests for youtube, as well as in the project template for it.</namespaceSummaryItem>
1907+ </namespaceSummaries>
1908+ <additionalContent>
1909+ <contentItem sourcePath="..\docs\AdditionalContent\*.html" destPath="AdditionalContent\" excludeItems="False" />
1910+ <contentItem sourcePath="..\RELEASE_NOTES.HTML" destPath="" excludeItems="False" />
1911+ </additionalContent>
1912+ <ProjectSummary>GData is a new protocol based on the Atom 1.0 and RSS 2.0 syndication formats, plus the Atom Publishing Protocol.
1913+
1914+GData extends those standards in various ways, using the extension mechanisms built into the standards. A GData feed conforms to either the Atom or RSS syndication formats. The GData publishing model conforms to the Atom Publishing Protocol.
1915+
1916+To acquire information from a service that supports GData, you send an HTTP GET request; the service returns results as an Atom or RSS feed.
1917+
1918+You can update data (where supported by a particular GData service) by sending an HTTP PUT request.
1919+
1920+All sorts of services can provide GData feeds, from public services like blog feeds or news syndication feeds to personalized data like email or calendar events or task-list items. The RSS and Atom models are extensible, so each feed provider can define its own extensions and semantics as desired while still conforming to the standards. A feed provider can provide read-only feeds (such as a search-results feed) or read/write feeds (such as a calendar application).
1921+
1922+For example, a blogging application might provide a feed for each blog, and a comment feed for each blog entry. A calendar application might allow you to send full-text search queries using the GData protocol, and return results in the GData syndication format.
1923+
1924+Because GData is built on basic technologies—HTTP and standard syndication models—you can send GData requests and process the resulting feeds in a variety of ways: traditional syndication aggregators/feed readers, JavaScript/AJAX-based clients in a web browser, standalone applications, or any other approach you like. The GData protocol is programming-language-neutral; you can write a client in any programming language that lets you issue HTTP requests and parse XML-based responses.
1925+
1926+Creating and deleting a feed is left up to the service; the GData protocol does not provide ways to create or delete a feed.</ProjectSummary>
1927+ <MissingTags>AutoDocumentCtors, Namespace</MissingTags>
1928+ <VisibleItems>InheritedMembers, InheritedFrameworkMembers, Protected, SealedProtected</VisibleItems>
1929+ <HtmlHelp1xCompilerPath path="" />
1930+ <HtmlHelp2xCompilerPath path="" />
1931+ <OutputPath>D:\TempHTML\</OutputPath>
1932+ <SandcastlePath path="" />
1933+ <WorkingPath path="" />
1934+ <CleanIntermediates>True</CleanIntermediates>
1935+ <KeepLogFile>True</KeepLogFile>
1936+ <HelpFileFormat>Help1xAndWebsite</HelpFileFormat>
1937+ <PurgeDuplicateTopics>True</PurgeDuplicateTopics>
1938+ <CppCommentsFixup>True</CppCommentsFixup>
1939+ <FrameworkVersion>2.0.50727</FrameworkVersion>
1940+ <BinaryTOC>True</BinaryTOC>
1941+ <IncludeFavorites>False</IncludeFavorites>
1942+ <Preliminary>False</Preliminary>
1943+ <RootNamespaceContainer>False</RootNamespaceContainer>
1944+ <RootNamespaceTitle />
1945+ <HelpTitle>Google Data API for .Net Documentation</HelpTitle>
1946+ <HtmlHelpName>Google.GData.Documentation</HtmlHelpName>
1947+ <Language>en-US</Language>
1948+ <CopyrightHref />
1949+ <CopyrightText>Google Inc.</CopyrightText>
1950+ <FeedbackEMailAddress />
1951+ <HeaderText />
1952+ <FooterText>Google Data API for .Net (http://code.google.com/apis/gdata)</FooterText>
1953+ <ProjectLinkType>Local</ProjectLinkType>
1954+ <SdkLinkType>Msdn</SdkLinkType>
1955+ <SdkLinkTarget>Blank</SdkLinkTarget>
1956+ <PresentationStyle>vs2005</PresentationStyle>
1957+ <NamingMethod>MemberName</NamingMethod>
1958+ <SyntaxFilters>Standard</SyntaxFilters>
1959+ <ShowFeedbackControl>False</ShowFeedbackControl>
1960+ <ContentPlacement>AboveNamespaces</ContentPlacement>
1961+ <ContentSiteMap path=".\helpfile.sitemap" />
1962+ <TopicFileTransform path="" />
1963+</project>
1964\ No newline at end of file
1965
1966=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/Google.GData.Client.dll.config'
1967--- BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/Google.GData.Client.dll.config 1970-01-01 00:00:00 +0000
1968+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/Google.GData.Client.dll.config 2009-03-15 16:30:10 +0000
1969@@ -0,0 +1,4 @@
1970+<configuration>
1971+ <!-- Map to libz.so.1.2.3 on everything but windows, as we ship it for windows. -->
1972+ <dllmap os="linux,osx,solaris,freebsd,openbsd,netbsd,aix,hpux" dll="zlib.x86.dll" target="libz.so.1.2.3"/>
1973+</configuration>
1974
1975=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/createzip.cmd'
1976--- BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/createzip.cmd 1970-01-01 00:00:00 +0000
1977+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/createzip.cmd 2009-03-15 16:30:10 +0000
1978@@ -0,0 +1,12 @@
1979+@echo off
1980+set shfb_home=%ProgramFiles%\EWSoftware\Sandcastle Help File Builder
1981+set src_home=..\src\VS2003
1982+set out_dir=..\lib
1983+set doc_dir=..\docs
1984+
1985+rem Create doc archive
1986+del "%doc_dir%\HTMLDocumentation.zip"
1987+del "%doc_dir%\HTMLDocumentation\*.asp"
1988+rd /S /Q "%doc_dir%\HTMLDocumentation\fti"
1989+rd /S /Q "%doc_dir%\HTMLDocumentation\Working"
1990+wzzip -apr "%doc_dir%\HTMLDocumentation.zip" "%doc_dir%\HTMLDocumentation\"
1991
1992=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-acl.pc.in'
1993--- BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-acl.pc.in 1970-01-01 00:00:00 +0000
1994+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-acl.pc.in 2009-03-15 16:30:10 +0000
1995@@ -0,0 +1,9 @@
1996+prefix=@prefix@
1997+libdir=${prefix}/lib
1998+
1999+Name: GData Sharp ACL
2000+Description: CLI bindings to Google's online services (Access Control)
2001+Version: @VERSION@
2002+
2003+Requires: gdata-sharp-core
2004+Libs: -r:${libdir}/mono/GData-Sharp/Google.GData.AccessControl.dll
2005
2006=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-apps.pc.in'
2007--- BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-apps.pc.in 1970-01-01 00:00:00 +0000
2008+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-apps.pc.in 2009-03-15 16:30:10 +0000
2009@@ -0,0 +1,9 @@
2010+prefix=@prefix@
2011+libdir=${prefix}/lib
2012+
2013+Name: GData Sharp Apps
2014+Description: CLI bindings to Google Apps
2015+Version: @VERSION@
2016+
2017+Requires: gdata-sharp-core
2018+Libs: -r:${libdir}/mono/GData-Sharp/Google.GData.Apps.dll
2019
2020=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-base.pc.in'
2021--- BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-base.pc.in 1970-01-01 00:00:00 +0000
2022+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-base.pc.in 2009-03-15 16:30:10 +0000
2023@@ -0,0 +1,9 @@
2024+prefix=@prefix@
2025+libdir=${prefix}/lib
2026+
2027+Name: GData Sharp Base
2028+Description: CLI bindings to Google Base
2029+Version: @VERSION@
2030+
2031+Requires: gdata-sharp-core
2032+Libs: -r:${libdir}/mono/GData-Sharp/Google.GData.GoogleBase.dll
2033
2034=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-blogger.pc.in'
2035--- BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-blogger.pc.in 1970-01-01 00:00:00 +0000
2036+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-blogger.pc.in 2009-03-15 16:30:10 +0000
2037@@ -0,0 +1,9 @@
2038+prefix=@prefix@
2039+libdir=${prefix}/lib
2040+
2041+Name: GData Sharp Blogger
2042+Description: CLI bindings to Google's Blogger webservice
2043+Version: @VERSION@
2044+
2045+Requires: gdata-sharp-core
2046+Libs: -r:${libdir}/mono/GData-Sharp/Google.GData.Blogger.dll
2047
2048=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-calendar.pc.in'
2049--- BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-calendar.pc.in 1970-01-01 00:00:00 +0000
2050+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-calendar.pc.in 2009-03-15 16:30:10 +0000
2051@@ -0,0 +1,9 @@
2052+prefix=@prefix@
2053+libdir=${prefix}/lib
2054+
2055+Name: GData Sharp Calendar
2056+Description: CLI bindings to Google Calendar
2057+Version: @VERSION@
2058+
2059+Requires: gdata-sharp-core gdata-sharp-acl
2060+Libs: -r:${libdir}/mono/GData-Sharp/Google.GData.Calendar.dll
2061
2062=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-codesearch.pc.in'
2063--- BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-codesearch.pc.in 1970-01-01 00:00:00 +0000
2064+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-codesearch.pc.in 2009-03-15 16:30:10 +0000
2065@@ -0,0 +1,9 @@
2066+prefix=@prefix@
2067+libdir=${prefix}/lib
2068+
2069+Name: GData Sharp Code Search
2070+Description: CLI bindings to Google Code Search
2071+Version: @VERSION@
2072+
2073+Requires: gdata-sharp-core
2074+Libs: -r:${libdir}/mono/GData-Sharp/Google.GData.CodeSearch.dll
2075
2076=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-contacts.pc.in'
2077--- BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-contacts.pc.in 1970-01-01 00:00:00 +0000
2078+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-contacts.pc.in 2009-03-15 16:30:10 +0000
2079@@ -0,0 +1,9 @@
2080+prefix=@prefix@
2081+libdir=${prefix}/lib
2082+
2083+Name: GData Sharp Contacts
2084+Description: CLI bindings to Google Contacts
2085+Version: @VERSION@
2086+
2087+Requires: gdata-sharp-core
2088+Libs: -r:${libdir}/mono/GData-Sharp/Google.GData.Contacts.dll
2089
2090=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-core.pc.in'
2091--- BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-core.pc.in 1970-01-01 00:00:00 +0000
2092+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-core.pc.in 2009-03-15 16:30:10 +0000
2093@@ -0,0 +1,8 @@
2094+prefix=@prefix@
2095+libdir=${prefix}/lib
2096+
2097+Name: GData Sharp Core
2098+Description: CLI bindings to Google's online services (Core libraries)
2099+Version: @VERSION@
2100+
2101+Libs: -r:${libdir}/mono/GData-Sharp/Google.GData.Client.dll -r${libdir}/mono/GData-Sharp/Google.GData.Extensions.dll
2102
2103=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-documents.pc.in'
2104--- BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-documents.pc.in 1970-01-01 00:00:00 +0000
2105+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-documents.pc.in 2009-03-15 16:30:10 +0000
2106@@ -0,0 +1,9 @@
2107+prefix=@prefix@
2108+libdir=${prefix}/lib
2109+
2110+Name: GData Sharp Documents
2111+Description: CLI bindings to Google Documents
2112+Version: @VERSION@
2113+
2114+Requires: gdata-sharp-core
2115+Libs: -r:${libdir}/mono/GData-Sharp/Google.GData.Documents.dll
2116
2117=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-health.pc.in'
2118--- BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-health.pc.in 1970-01-01 00:00:00 +0000
2119+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-health.pc.in 2009-03-15 16:30:10 +0000
2120@@ -0,0 +1,9 @@
2121+prefix=@prefix@
2122+libdir=${prefix}/lib
2123+
2124+Name: GData Sharp Health
2125+Description: CLI bindings to Google Health
2126+Version: @VERSION@
2127+
2128+Requires: gdata-sharp-core
2129+Libs: -r:${libdir}/mono/GData-Sharp/Google.GData.Health.dll
2130
2131=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-photos.pc.in'
2132--- BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-photos.pc.in 1970-01-01 00:00:00 +0000
2133+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-photos.pc.in 2009-03-15 16:30:10 +0000
2134@@ -0,0 +1,9 @@
2135+prefix=@prefix@
2136+libdir=${prefix}/lib
2137+
2138+Name: GData Sharp Photos
2139+Description: CLI bindings to Google's Picasa webservice
2140+Version: @VERSION@
2141+
2142+Requires: gdata-sharp-core
2143+Libs: -r:${libdir}/mono/GData-Sharp/Google.GData.Photos.dll
2144
2145=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-spreadsheets.pc.in'
2146--- BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-spreadsheets.pc.in 1970-01-01 00:00:00 +0000
2147+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-spreadsheets.pc.in 2009-03-15 16:30:10 +0000
2148@@ -0,0 +1,9 @@
2149+prefix=@prefix@
2150+libdir=${prefix}/lib
2151+
2152+Name: GData Sharp Spreadsheets
2153+Description: CLI bindings to Google Spreadsheets
2154+Version: @VERSION@
2155+
2156+Requires: gdata-sharp-core
2157+Libs: -r:${libdir}/mono/GData-Sharp/Google.GData.Spreadsheets.dll
2158
2159=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-youtube.pc.in'
2160--- BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-youtube.pc.in 1970-01-01 00:00:00 +0000
2161+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/gdata-sharp-youtube.pc.in 2009-03-15 16:30:10 +0000
2162@@ -0,0 +1,9 @@
2163+prefix=@prefix@
2164+libdir=${prefix}/lib
2165+
2166+Name: Google.GData.YouTube
2167+Description: CLI bindings to Google's YouTube service
2168+Version: @VERSION@
2169+
2170+Requires: gdata-sharp-core
2171+Libs: -r:${libdir}/mono/GData-Sharp/Google.GData.YouTube.dll
2172
2173=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/helpfile.sitemap'
2174--- BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/helpfile.sitemap 1970-01-01 00:00:00 +0000
2175+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/helpfile.sitemap 2009-03-15 16:30:10 +0000
2176@@ -0,0 +1,15 @@
2177+<?xml version="1.0" encoding="utf-8"?>
2178+<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0">
2179+ <siteMapNode title="Release Notes" url="..\RELEASE_NOTES.HTML" isDefault="true" />
2180+ <siteMapNode title="AdditionalContent" url="..\docs\AdditionalContent\">
2181+ <siteMapNode title="AuthSub in .NET" url="..\docs\AdditionalContent\UsingAuthsub.html" />
2182+ <siteMapNode title="Copyright and Licence information" url="..\docs\AdditionalContent\License.html" />
2183+ <siteMapNode title="ExecRequest" url="..\docs\AdditionalContent\ExecRequest.html" />
2184+ <siteMapNode title="Getting Started with .NET" url="..\docs\AdditionalContent\GettingStarted.html" />
2185+ <siteMapNode title="Understanding the Unknown" url="..\docs\AdditionalContent\UnderstandingUnknown.html" />
2186+ <siteMapNode title="Using Batch support in Google Base" url="..\docs\AdditionalContent\BatchSupport.html" />
2187+ <siteMapNode title="Using Proxy servers" url="..\docs\AdditionalContent\UsingProxies.html" />
2188+ <siteMapNode title="Creating asyncronous requests" url="..\docs\AdditionalContent\Multithreadedoperations.html" />
2189+ <siteMapNode title="Linq and YouTube" url="..\docs\AdditionalContent\YouTubeLinqExamples.html" />
2190+ </siteMapNode>
2191+</siteMap>
2192\ No newline at end of file
2193
2194=== added directory 'BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/icons'
2195=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/icons/app.ico'
2196Binary files BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/icons/app.ico 1970-01-01 00:00:00 +0000 and BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/icons/app.ico 2009-03-15 16:30:10 +0000 differ
2197=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/icons/help.ico'
2198Binary files BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/icons/help.ico 1970-01-01 00:00:00 +0000 and BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/icons/help.ico 2009-03-15 16:30:10 +0000 differ
2199=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/icons/project.ico'
2200Binary files BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/icons/project.ico 1970-01-01 00:00:00 +0000 and BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/icons/project.ico 2009-03-15 16:30:10 +0000 differ
2201=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/icons/rc_html.ico'
2202Binary files BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/icons/rc_html.ico 1970-01-01 00:00:00 +0000 and BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/icons/rc_html.ico 2009-03-15 16:30:10 +0000 differ
2203=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/icons/textdoc.ico'
2204Binary files BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/icons/textdoc.ico 1970-01-01 00:00:00 +0000 and BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/icons/textdoc.ico 2009-03-15 16:30:10 +0000 differ
2205=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/maketar.sh'
2206--- BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/maketar.sh 1970-01-01 00:00:00 +0000
2207+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/maketar.sh 2009-03-15 16:30:10 +0000
2208@@ -0,0 +1,50 @@
2209+#!/bin/bash
2210+#
2211+# uses the .NET client subversion repository to create a tar ball for redistribution
2212+
2213+# globals
2214+
2215+declare -rx SCRIPT=${O##*/}
2216+declare -rx SVNLOCATION="http://google-gdata.googlecode.com/svn/trunk/clients/cs/"
2217+declare -rx SVN="/usr/local/bin/svn"
2218+declare -rx OUTPUTDIR="libgoogle-data-mono-1.3.1.0"
2219+declare -rx EXPORTDIR="$OUTPUTDIR"
2220+
2221+# sanity checks
2222+
2223+if test -z "$BASH" ; then
2224+ printf "$SCRIPT:$LINENO: please run this script with the bash shell\n" >&2
2225+ exit 192
2226+fi
2227+
2228+
2229+if test ! -x "$SVN" ; then
2230+ printf "$SCRIPT:$LINENO: the $SVN command to run subversion could not be found\n" >&2
2231+ exit 192
2232+fi
2233+
2234+# if the output dir already exists, delete the contents in there
2235+if test -x "$OUTPUTDIR" ; then
2236+ printf "Removing old output directory $OUTPUTDIR\n" >&1
2237+ rm -r -f -d "$OUTPUTDIR"
2238+fi
2239+
2240+
2241+printf "Starting to export to: $EXPORTDIR\n" >&1
2242+svn export $SVNLOCATION $EXPORTDIR
2243+
2244+# now remove all NON unix related dlls etc
2245+
2246+rm -r -f -d $EXPORTDIR/lib
2247+rm -r -f -d $EXPORTDIR/docs
2248+rm -r -f -d $EXPORTDIR/fxcop
2249+rm -r -f -d $EXPORTDIR/setup
2250+rm -r -f -d $EXPORTDIR/samples/YouTubeSample/Bin
2251+find $EXPORTDIR -iname *.dll -type f -delete
2252+
2253+tar czf "$OUTPUTDIR.tar.gz" "$OUTPUTDIR"
2254+
2255+printf "$SCRIPT:$LINENO: done\n" >&1
2256+
2257+
2258+
2259
2260=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/pushdlls.cmd'
2261--- BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/pushdlls.cmd 1970-01-01 00:00:00 +0000
2262+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/pushdlls.cmd 2009-03-15 16:30:10 +0000
2263@@ -0,0 +1,136 @@
2264+# build the whole release project, note this should RUN inside the VS dev prompt
2265+
2266+echo "Run this inside the Visual Studio Development Prompt"
2267+devenv /rebuild Release "..\src\Google Data API SDK.sln"
2268+if errorlevel 1 goto buildError
2269+devenv /rebuild Debug "..\src\Google Data API SDK.sln"
2270+if errorlevel 1 goto buildError
2271+devenv /rebuild Release ..\src\VS2005.mobile\gdatamobile.sln
2272+if errorlevel 1 goto buildError
2273+
2274+# copy the DLLS
2275+xcopy /y ..\src\core\bin\Release\*.dll ..\lib\Release\*.*
2276+xcopy /y ..\src\gbase\bin\Release\*.dll ..\lib\Release\*.*
2277+xcopy /y ..\src\extensions\bin\Release\*.dll ..\lib\Release\*.*
2278+xcopy /y ..\src\gspreadsheet\bin\Release\*.dll ..\lib\Release\*.*
2279+xcopy /y ..\src\gcalendar\bin\Release\*.dll ..\lib\Release\*.*
2280+xcopy /y ..\src\gcodesearch\bin\Release\*.dll ..\lib\Release\*.*
2281+xcopy /y ..\src\gapps\bin\Release\*.dll ..\lib\Release\*.*
2282+xcopy /y ..\src\gacl\bin\Release\*.dll ..\lib\Release\*.*
2283+xcopy /y ..\src\gphotos\bin\Release\*.dll ..\lib\Release\*.*
2284+xcopy /y ..\src\gdocuments\bin\Release\*.dll ..\lib\Release\*.*
2285+xcopy /y ..\src\gcontacts\bin\Release\*.dll ..\lib\Release\*.*
2286+xcopy /y ..\src\youtube\bin\Release\*.dll ..\lib\Release\*.*
2287+xcopy /y ..\src\ghealth\bin\Release\*.dll ..\lib\Release\*.*
2288+xcopy /y ..\src\blogger\bin\Release\*.dll ..\lib\Release\*.*
2289+
2290+# copy the debug DLLS
2291+xcopy /y ..\src\core\bin\Debug\*.dll ..\lib\Debug\*.*
2292+xcopy /y ..\src\gbase\bin\Debug\*.dll ..\lib\Debug\*.*
2293+xcopy /y ..\src\extensions\bin\Debug\*.dll ..\lib\Debug\*.*
2294+xcopy /y ..\src\gspreadsheet\bin\Debug\*.dll ..\lib\Debug\*.*
2295+xcopy /y ..\src\gcalendar\bin\Debug\*.dll ..\lib\Debug\*.*
2296+xcopy /y ..\src\gcodesearch\bin\Debug\*.dll ..\lib\Debug\*.*
2297+xcopy /y ..\src\gapps\bin\Debug\*.dll ..\lib\Debug\*.*
2298+xcopy /y ..\src\gacl\bin\Debug\*.dll ..\lib\Debug\*.*
2299+xcopy /y ..\src\gphotos\bin\Debug\*.dll ..\lib\Debug\*.*
2300+xcopy /y ..\src\gdocuments\bin\Debug\*.dll ..\lib\Debug\*.*
2301+xcopy /y ..\src\gcontacts\bin\Debug\*.dll ..\lib\Debug\*.*
2302+xcopy /y ..\src\youtube\bin\Debug\*.dll ..\lib\Debug\*.*
2303+xcopy /y ..\src\ghealth\bin\Debug\*.dll ..\lib\Debug\*.*
2304+xcopy /y ..\src\unittests\bin\Debug\*.dll ..\lib\Debug\*.*
2305+xcopy /y ..\src\blogger\bin\Debug\*.dll ..\lib\Debug\*.*
2306+
2307+
2308+# copy asp dlls for the youtube sample
2309+xcopy /y ..\src\gdata\bin\asp\*.dll ..\samples\YouTubeSample\bin\*.*
2310+xcopy /y ..\src\gdata\bin\asp\*.dll ..\samples\YouTubeSample\bin\*.*
2311+xcopy /y ..\src\youtube\bin\asp\*.dll ..\samples\YouTubeSample\bin\*.*
2312+
2313+
2314+
2315+#copy the mobile DLLS
2316+xcopy /y ..\src\VS2005.mobile\GBaseMobile\bin\Release\*.dll ..\lib\Mobile\WindowsMobile\*.*
2317+xcopy /y ..\src\VS2005.mobile\GCalendarMobile\bin\Release\*.dll ..\lib\Mobile\WindowsMobile\*.*
2318+xcopy /y ..\src\VS2005.mobile\GCodeSearchMobile\bin\Release\*.dll ..\lib\Mobile\WindowsMobile\*.*
2319+xcopy /y ..\src\VS2005.mobile\GDataMobile\bin\Release\*.dll ..\lib\Mobile\WindowsMobile\*.*
2320+xcopy /y ..\src\VS2005.mobile\GSpreadSheetsMobile\bin\Release\*.dll ..\lib\Mobile\WindowsMobile\*.*
2321+xcopy /y ..\src\VS2005.mobile\GExtensionsMobile\bin\Release\*.dll ..\lib\Mobile\WindowsMobile\*.*
2322+xcopy /y ..\src\VS2005.mobile\GAppsMobile\bin\Release\*.dll ..\lib\Mobile\WindowsMobile\*.*
2323+xcopy /y ..\src\VS2005.mobile\GAclMobile\bin\Release\*.dll ..\lib\Mobile\WindowsMobile\*.*
2324+xcopy /y ..\src\VS2005.mobile\GPhotosMobile\bin\Release\*.dll ..\lib\Mobile\WindowsMobile\*.*
2325+xcopy /y ..\src\VS2005.mobile\GDocListMobile\bin\Release\*.dll ..\lib\Mobile\WindowsMobile\*.*
2326+xcopy /y ..\src\VS2005.mobile\GContactsMobile\bin\Release\*.dll ..\lib\Mobile\WindowsMobile\*.*
2327+xcopy /y ..\src\VS2005.mobile\GHealthMobile\bin\Release\*.dll ..\lib\Mobile\WindowsMobile\*.*
2328+xcopy /y ..\src\VS2005.mobile\GYouTubeMobile\bin\Release\*.dll ..\lib\Mobile\WindowsMobile\*.*
2329+xcopy /y ..\src\VS2005.mobile\GBloggerMobile\bin\Release\*.dll ..\lib\Mobile\WindowsMobile\*.*
2330+
2331+
2332+devenv /rebuild Release "..\samples\Google Data APIs Samples.sln"
2333+
2334+# copy all exe files
2335+xcopy /y ..\samples\Blogger\bin\Release\*.exe ..\lib\Release\*.*
2336+xcopy /y ..\samples\Calendar\bin\Release\*.exe ..\lib\Release\*.*
2337+xcopy /y ..\samples\CodeSearch\bin\Release\*.exe ..\lib\Release\*.*
2338+xcopy /y ..\samples\spreadsheets\bin\Release\*.exe ..\lib\Release\*.*
2339+xcopy /y ..\samples\gbase\bin\Release\*.exe ..\lib\Release\*.*
2340+xcopy /y ..\samples\gbase\*.exe ..\lib\Release\*.*
2341+xcopy /y ..\samples\\appsforyourdomain\bin\Release\*.exe ..\lib\Release\*.*
2342+xcopy /y ..\samples\ExecRequest\bin\Release\*.exe ..\lib\Release\*.*
2343+xcopy /y ..\samples\PhotoBrowser\bin\Release\*.exe ..\lib\Release\*.*
2344+xcopy /y ..\samples\DocListUploader\bin\Release\*.exe ..\lib\Release\*.*
2345+xcopy /y ..\samples\health\bin\Release\*.exe ..\lib\Release\*.*
2346+xcopy /y ..\samples\YouTubeNotifier\bin\Release\*.exe ..\lib\Release\*.*
2347+xcopy /y ..\samples\DocListExporter\bin\Release\*.exe ..\lib\Release\*.*
2348+
2349+
2350+
2351+# copy the xml doc files
2352+xcopy /y ..\src\gdata\bin\*.xml ..\docs\*.*
2353+xcopy /y ..\src\gbase\bin\*.xml ..\docs\*.*
2354+xcopy /y ..\src\gextension\bin\*.xml ..\docs\*.*
2355+xcopy /y ..\src\gspreadsheets\bin\*.xml ..\docs\*.*
2356+xcopy /y ..\src\gcalendar\bin\*.xml ..\docs\*.*
2357+xcopy /y ..\src\gcodesearch\bin\*.xml ..\docs\*.*
2358+xcopy /y ..\src\gapps\bin\*.xml ..\docs\*.*
2359+xcopy /y ..\src\gacl\bin\*.xml ..\docs\*.*
2360+xcopy /y ..\src\gphotos\bin\*.xml ..\docs\*.*
2361+xcopy /y ..\src\gdoclist\bin\*.xml ..\docs\*.*
2362+xcopy /y ..\src\gcontacts\bin\*.xml ..\docs\*.*
2363+xcopy /y ..\src\youtube\bin\*.xml ..\docs\*.*
2364+xcopy /y ..\src\ghealth\bin\*.xml ..\docs\*.*
2365+xcopy /y ..\src\blogger\bin\*.xml ..\docs\*.*
2366+
2367+#copy the Merge module files
2368+
2369+xcopy /y ..\src\MergeModules\CoreMergeModule\Release\*.msm ..\lib\MergeModules\*.*
2370+xcopy /y ..\src\MergeModules\YouTubeMergeModule\Release\*.msm ..\lib\MergeModules\*.*
2371+
2372+
2373+rem run ILMerge on PhotoBrowser.exe
2374+cd ..\lib\release\
2375+ilmerge Photobrowser.exe Google.GData.Client.Dll Google.GData.Extensions.Dll Google.GData.Photos.Dll /out:PhotoTool.exe
2376+del Photobrowser.exe
2377+del Phototool.pdb
2378+
2379+rem run ILMerge on DocListExport.exe
2380+cd ..\lib\release\
2381+ilmerge DocListExport.exe Google.GData.Client.Dll Google.GData.Extensions.Dll Google.GData.AccessControl.Dll Google.GData.Documents.dll /out:DocListExporter.exe
2382+del DocListExport.exe
2383+
2384+
2385+rem run ILMerge on YouTubeNotifier.exe
2386+ilmerge NotifierForYT.exe Google.GData.Client.Dll Google.GData.Extensions.Dll Google.GData.YouTube.Dll /out:nfyt.exe
2387+del NotifierForYT.exe
2388+goto doneBuilding
2389+
2390+del *.pdb
2391+
2392+:buildError
2393+echo "Error in building"
2394+
2395+:doneBuilding
2396+cd .\..\..\misc
2397+
2398+
2399+
2400
2401=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/pushdoc.cmd'
2402--- BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/pushdoc.cmd 1970-01-01 00:00:00 +0000
2403+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/pushdoc.cmd 2009-03-15 16:30:10 +0000
2404@@ -0,0 +1,26 @@
2405+@echo off
2406+set shfb_home=%ProgramFiles%\EWSoftware\Sandcastle Help File Builder
2407+set src_home=..\src\VS2003
2408+set out_dir=..\lib
2409+set doc_dir=..\docs
2410+set target_dir=..\..\..\..\docs
2411+set temp_dir=d:\tempHTML
2412+time /t
2413+rem build documentation
2414+"%shfb_home%\SandcastleBuilderConsole.exe" GDataProject.shfb
2415+move "%temp_dir%\Google.GData.Documentation.chm" "%doc_dir%\"
2416+move "%temp_dir%\*.log" .
2417+
2418+echo "%temp_dir%\*.*"
2419+echo "%target_dir%\*.*"
2420+
2421+move /y "%temp_dir%\*.*" "%target_dir%\"
2422+echo "now moving html files"
2423+move /y "%temp_dir%\html\*.*" "%target_dir%\html\"
2424+echo "now moving the index"
2425+move /y "%target_dir%\Index.html" "%target_dir%\orgindex.html"
2426+echo "now moving addtional contents"
2427+move /y "%temp_dir%\AdditionalContent\*.*" "target_dir%\AdditionalContent\"
2428+time /t
2429+
2430+
2431
2432=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/pushsetuptree.cmd'
2433--- BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/pushsetuptree.cmd 1970-01-01 00:00:00 +0000
2434+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/pushsetuptree.cmd 2009-03-15 16:30:10 +0000
2435@@ -0,0 +1,21 @@
2436+cd ./..
2437+rd /S /Q exporttree
2438+rd /S /Q setuptree
2439+
2440+svn export http://google-gdata.googlecode.com/svn/trunk/clients/cs/ exporttree\
2441+mkdir setuptree
2442+xcopy /E exporttree\src\*.* setuptree\Sources\Library\*.*
2443+xcopy /E exporttree\samples\*.* setuptree\Sources\Samples\*.*
2444+xcopy /E exporttree\version\*.* setuptree\Sources\version\*.*
2445+xcopy exporttree\docs\*.chm setuptree\Documentation\*.*
2446+xcopy exporttree\*.txt setuptree\Documentation\*.*
2447+xcopy exporttree\*.html setuptree\Documentation\*.*
2448+xcopy exporttree\*.url setuptree\*.*
2449+
2450+xcopy /E exporttree\lib\Release\*.dll setuptree\Redist\*.*
2451+xcopy /E exporttree\lib\Release\*.exe setuptree\Samples\*.exe
2452+xcopy /E exporttree\lib\ASP.NET\*.* setuptree\Redist\ASP.NET\*.*
2453+xcopy /E exporttree\lib\Mobile\*.* setuptree\Redist\Mobile\*.*
2454+xcopy /E exporttree\misc\icons\*.* setuptree\Icons\*.*
2455+rd /S /Q exporttree
2456+
2457
2458=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/splitdocs.py'
2459--- BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/splitdocs.py 1970-01-01 00:00:00 +0000
2460+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/splitdocs.py 2009-03-15 16:30:10 +0000
2461@@ -0,0 +1,202 @@
2462+from sgmllib import SGMLParser
2463+import urllib
2464+import htmlentitydefs
2465+import shutil
2466+import os
2467+import os.path
2468+from os.path import join, getsize, split
2469+
2470+global basePath
2471+global targetPath
2472+global pathVar
2473+global subFolder
2474+global allOldFiles
2475+global allNewFiles
2476+
2477+
2478+
2479+class URLLister(SGMLParser):
2480+ def reset(self):
2481+ SGMLParser.reset(self)
2482+ self.urls = []
2483+
2484+ def start_a(self, attrs):
2485+ href = [v for k, v in attrs if k=='href']
2486+ if href:
2487+ self.urls.extend(href)
2488+
2489+
2490+class BaseHTMLProcessor(SGMLParser):
2491+ def reset(self):
2492+ self.pieces = []
2493+ SGMLParser.reset(self)
2494+ def unknown_starttag(self, tag, attrs):
2495+ strattrs = "".join([' %s="%s"' % (key, value) for key, value in attrs])
2496+ self.pieces.append("<%(tag)s%(strattrs)s>" % locals())
2497+ def unknown_endtag(self, tag):
2498+ self.pieces.append("</%(tag)s>" % locals())
2499+ def handle_charref(self, ref):
2500+ self.pieces.append("&#%(ref)s;" % locals())
2501+ def handle_entityref(self, ref):
2502+ self.pieces.append("&%(ref)s" % locals())
2503+ if htmlentitydefs.entitydefs.has_key(ref):
2504+ self.pieces.append(";")
2505+ def handle_data(self, text):
2506+ self.pieces.append(text)
2507+ def handle_comment(self, text):
2508+ self.pieces.append("<!--%(text)s-->" % locals())
2509+ def handle_pi(self, text):
2510+ self.pieces.append("<?%(text)s>" % locals())
2511+ def handle_decl(self, text):
2512+ self.pieces.append("<!%(text)s>" % locals())
2513+
2514+ def start_a(self, attrs):
2515+ strattrs = ""
2516+ for key, value in attrs:
2517+ if key == 'href':
2518+ value = FileMover().Move(basePath, targetPath, value)
2519+ strattrs += "".join(' %s="%s"' % (key, value))
2520+ self.pieces.append("<a %(strattrs)s>" % locals())
2521+
2522+
2523+ def output(self):
2524+ """Return processed HTML as a single string"""
2525+ return "".join(self.pieces)
2526+
2527+class MofifyFileProcessor(SGMLParser):
2528+ def reset(self):
2529+ self.pieces = []
2530+ SGMLParser.reset(self)
2531+ def unknown_starttag(self, tag, attrs):
2532+ strattrs = "".join([' %s="%s"' % (key, value) for key, value in attrs])
2533+ self.pieces.append("<%(tag)s%(strattrs)s>" % locals())
2534+ def unknown_endtag(self, tag):
2535+ self.pieces.append("</%(tag)s>" % locals())
2536+ def handle_charref(self, ref):
2537+ self.pieces.append("&#%(ref)s;" % locals())
2538+ def handle_entityref(self, ref):
2539+ self.pieces.append("&%(ref)s" % locals())
2540+ if htmlentitydefs.entitydefs.has_key(ref):
2541+ self.pieces.append(";")
2542+ def handle_data(self, text):
2543+ self.pieces.append(text)
2544+ def handle_comment(self, text):
2545+ self.pieces.append("<!--%(text)s-->" % locals())
2546+ def handle_pi(self, text):
2547+ self.pieces.append("<?%(text)s>" % locals())
2548+ def handle_decl(self, text):
2549+ self.pieces.append("<!%(text)s>" % locals())
2550+
2551+ def start_a(self, attrs):
2552+ strattrs = ""
2553+ for key, value in attrs:
2554+ if key == 'href':
2555+ value = self.FindNewLocation(value)
2556+ strattrs += "".join(' %s="%s"' % (key, value))
2557+ self.pieces.append("<a %(strattrs)s>" % locals())
2558+
2559+
2560+ def output(self):
2561+ """Return processed HTML as a single string"""
2562+ return "".join(self.pieces)
2563+
2564+ def FindNewLocation(self, fileName):
2565+ global allOldFiles
2566+ for path, name in allOldFiles:
2567+ if name == fileName:
2568+ folder = split(path + f)
2569+ folder = split(folder[0])
2570+ folder = folder[1]
2571+ return "../" + folder + "/" + fileName
2572+ """If we don't find it, return original, might be http ref to ms docs"""
2573+ return fileName
2574+
2575+class FileMover:
2576+ def Move(self, base, target, currentFile):
2577+ global pathVar
2578+ relFile = currentFile
2579+ src = base + currentFile
2580+ if os.path.isfile(src):
2581+ (dirName, fileName) = os.path.split(src)
2582+ targetFolder = self.TestIfFileExists(fileName, target)
2583+ if targetFolder == "":
2584+ targetFolder = self.EnsureCorrectTargetPath(target, pathVar)
2585+ dst = targetFolder + fileName
2586+ folderName = split(dst)
2587+ folderName = split(folderName[0])
2588+ folderName = folderName[1]
2589+ shutil.copyfile(src, dst)
2590+ relFile = "%s/%s" % (folderName, fileName)
2591+ # now remove the basePath and return only the relative portion
2592+ # which just assumes that the index is in the directory above
2593+ return relFile
2594+
2595+ def TestIfFileExists(self, fileName, target):
2596+ global allOldFiles
2597+ for path, name in allOldFiles:
2598+ if name == fileName:
2599+ return path
2600+ return ""
2601+
2602+
2603+
2604+ def EnsureCorrectTargetPath(self, basePath, varPath):
2605+ global pathVar
2606+ testPath = "%s%s%s/" % (basePath, subFolder, varPath)
2607+ if os.path.isdir(testPath):
2608+ file_count = sum((len(f) for _, _, f in os.walk(testPath)))
2609+ if file_count > 100:
2610+ pathVar += 1
2611+ return self.EnsureCorrectTargetPath(basePath, pathVar)
2612+ return testPath
2613+ os.mkdir(testPath)
2614+ return testPath
2615+
2616+
2617+basePath = "../../../../docs/"
2618+targetPath = "../../../../docs/"
2619+subFolder = "folder"
2620+pathVar = 1
2621+allOldFiles = []
2622+
2623+#populate the list of the current files, all files in folderx subfolders
2624+for root, dirs, files in os.walk(basePath):
2625+ if 'folder' in root:
2626+ if '.svn' not in root:
2627+ for f in files:
2628+ allOldFiles.append((root + "/", f))
2629+
2630+usock = urllib.urlopen("../../../../docs/orgindex.html")
2631+parser = BaseHTMLProcessor()
2632+parser.feed(usock.read())
2633+usock.close()
2634+parser.close()
2635+
2636+print "writing new index file index.html"
2637+
2638+file = open("../../../../docs/index.html", 'w')
2639+file.write(parser.output())
2640+file.close()
2641+
2642+allOldFiles = []
2643+
2644+#now walk over the list of files in the foderx subfolders and manage the references in there
2645+for root, dirs, files in os.walk(basePath):
2646+ if 'folder' in root:
2647+ if '.svn' not in root:
2648+ for f in files:
2649+ allOldFiles.append((root + "/", f))
2650+
2651+for path, name in allOldFiles:
2652+ usock = urllib.urlopen(path+name)
2653+ parser = MofifyFileProcessor()
2654+ parser.feed(usock.read())
2655+ usock.close()
2656+ parser.close()
2657+
2658+ print "modifying file: " + path + name
2659+ file = open(path+name, 'w')
2660+ file.write(parser.output())
2661+ file.close()
2662+
2663+
2664
2665=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/tree.css'
2666--- BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/tree.css 1970-01-01 00:00:00 +0000
2667+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/misc/tree.css 2009-03-15 16:30:10 +0000
2668@@ -0,0 +1,61 @@
2669+.treeDiv
2670+{
2671+ font-family: verdana;
2672+ font-size: 70.5%;
2673+ font-weight: normal;
2674+ background-color: #f1f1f1;
2675+ color: Black;
2676+ overflow: auto;
2677+ height:90%;
2678+ margin: 0px 0px 0px 0px;
2679+ padding: 0px 0px 0px 0px;
2680+}
2681+
2682+.treeNode
2683+{
2684+ white-space: nowrap;
2685+ text-indent: -14px;
2686+ margin: 5px 2px 5px 14px;
2687+}
2688+A.treeUnselected:hover, A.treeSelected:hover
2689+{
2690+ text-decoration: underline;
2691+ background-color: #cccccc;
2692+ border: solid 1px #999999;
2693+ text-decoration: none;
2694+}
2695+A.treeUnselected, A.treeSelected
2696+{
2697+ color: Black;
2698+ padding: 1px 3px 1px 3px;
2699+ text-decoration: none;
2700+}
2701+A.treeSelected
2702+{
2703+ background-color: #ffffff;
2704+ border: solid 1px #999999;
2705+}
2706+A.treeUnselected
2707+{
2708+ border: solid 1px f0f0f0;
2709+ background-color: transparent;
2710+}
2711+.treeSubnodes
2712+{
2713+ display: block;
2714+}
2715+.treeSubnodesHidden
2716+{
2717+ display: none;
2718+}
2719+.treeNode IMG.treeNoLinkImage, .treeNode IMG.treeLinkImage
2720+{
2721+ width: 9px;
2722+ height: 9px;
2723+ margin-left: 5px;
2724+ margin-right: 0px;
2725+}
2726+.treeNode IMG.treeLinkImage
2727+{
2728+ cursor: pointer;
2729+}
2730
2731=== added directory 'BundledLibraries/libgoogle-data-mono-1.4.0.2/samples'
2732=== added directory 'BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter'
2733=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter/DocListExporter.csproj'
2734--- BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter/DocListExporter.csproj 1970-01-01 00:00:00 +0000
2735+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter/DocListExporter.csproj 2009-03-15 16:30:10 +0000
2736@@ -0,0 +1,104 @@
2737+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2738+ <PropertyGroup>
2739+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
2740+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
2741+ <ProductVersion>8.0.50727</ProductVersion>
2742+ <SchemaVersion>2.0</SchemaVersion>
2743+ <ProjectGuid>{6C6C0183-78AA-4DC4-BB1A-35A181F11F89}</ProjectGuid>
2744+ <OutputType>WinExe</OutputType>
2745+ <AppDesignerFolder>Properties</AppDesignerFolder>
2746+ <RootNamespace>DocListExport</RootNamespace>
2747+ <AssemblyName>DocListExport</AssemblyName>
2748+ </PropertyGroup>
2749+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
2750+ <DebugSymbols>true</DebugSymbols>
2751+ <DebugType>full</DebugType>
2752+ <Optimize>false</Optimize>
2753+ <OutputPath>bin\Debug\</OutputPath>
2754+ <DefineConstants>DEBUG;TRACE</DefineConstants>
2755+ <ErrorReport>prompt</ErrorReport>
2756+ <WarningLevel>4</WarningLevel>
2757+ </PropertyGroup>
2758+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
2759+ <DebugType>pdbonly</DebugType>
2760+ <Optimize>true</Optimize>
2761+ <OutputPath>bin\Release\</OutputPath>
2762+ <DefineConstants>TRACE</DefineConstants>
2763+ <ErrorReport>prompt</ErrorReport>
2764+ <WarningLevel>4</WarningLevel>
2765+ </PropertyGroup>
2766+ <ItemGroup>
2767+ <Reference Include="Google.GData.AccessControl, Version=1.3.1.27216, Culture=neutral, PublicKeyToken=b4b8eb9a7afc8328, processorArchitecture=MSIL">
2768+ <SpecificVersion>False</SpecificVersion>
2769+ <HintPath>..\..\lib\Release\Google.GData.AccessControl.dll</HintPath>
2770+ </Reference>
2771+ <Reference Include="Google.GData.Client, Version=1.3.1.27216, Culture=neutral, PublicKeyToken=04a59ca9b0273830, processorArchitecture=MSIL">
2772+ <SpecificVersion>False</SpecificVersion>
2773+ <HintPath>..\..\lib\Release\Google.GData.Client.dll</HintPath>
2774+ </Reference>
2775+ <Reference Include="Google.GData.Documents, Version=1.3.1.27218, Culture=neutral, PublicKeyToken=099e9a853da5b089, processorArchitecture=MSIL">
2776+ <SpecificVersion>False</SpecificVersion>
2777+ <HintPath>..\..\lib\Release\Google.GData.Documents.dll</HintPath>
2778+ </Reference>
2779+ <Reference Include="Google.GData.Extensions, Version=1.3.1.27216, Culture=neutral, PublicKeyToken=0b4c5df2ebf20876, processorArchitecture=MSIL">
2780+ <SpecificVersion>False</SpecificVersion>
2781+ <HintPath>..\..\lib\Release\Google.GData.Extensions.dll</HintPath>
2782+ </Reference>
2783+ <Reference Include="System" />
2784+ <Reference Include="System.Data" />
2785+ <Reference Include="System.Drawing" />
2786+ <Reference Include="System.Windows.Forms" />
2787+ <Reference Include="System.Xml" />
2788+ </ItemGroup>
2789+ <ItemGroup>
2790+ <Compile Include="..\..\version\AssemblyVersion.cs">
2791+ <Link>AssemblyVersion.cs</Link>
2792+ </Compile>
2793+ <Compile Include="Form1.cs">
2794+ <SubType>Form</SubType>
2795+ </Compile>
2796+ <Compile Include="Form1.Designer.cs">
2797+ <DependentUpon>Form1.cs</DependentUpon>
2798+ </Compile>
2799+ <Compile Include="GoogleClientLogin.cs">
2800+ <SubType>Form</SubType>
2801+ </Compile>
2802+ <Compile Include="Program.cs" />
2803+ <Compile Include="Properties\AssemblyInfo.cs" />
2804+ <EmbeddedResource Include="Form1.resx">
2805+ <SubType>Designer</SubType>
2806+ <DependentUpon>Form1.cs</DependentUpon>
2807+ </EmbeddedResource>
2808+ <EmbeddedResource Include="GoogleClientLogin.resx">
2809+ <DependentUpon>GoogleClientLogin.cs</DependentUpon>
2810+ <SubType>Designer</SubType>
2811+ </EmbeddedResource>
2812+ <EmbeddedResource Include="Properties\Resources.resx">
2813+ <Generator>ResXFileCodeGenerator</Generator>
2814+ <LastGenOutput>Resources.Designer.cs</LastGenOutput>
2815+ <SubType>Designer</SubType>
2816+ </EmbeddedResource>
2817+ <Compile Include="Properties\Resources.Designer.cs">
2818+ <AutoGen>True</AutoGen>
2819+ <DependentUpon>Resources.resx</DependentUpon>
2820+ <DesignTime>True</DesignTime>
2821+ </Compile>
2822+ <None Include="Properties\Settings.settings">
2823+ <Generator>SettingsSingleFileGenerator</Generator>
2824+ <LastGenOutput>Settings.Designer.cs</LastGenOutput>
2825+ </None>
2826+ <Compile Include="Properties\Settings.Designer.cs">
2827+ <AutoGen>True</AutoGen>
2828+ <DependentUpon>Settings.settings</DependentUpon>
2829+ <DesignTimeSharedInput>True</DesignTimeSharedInput>
2830+ </Compile>
2831+ </ItemGroup>
2832+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
2833+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
2834+ Other similar extension points exist, see Microsoft.Common.targets.
2835+ <Target Name="BeforeBuild">
2836+ </Target>
2837+ <Target Name="AfterBuild">
2838+ </Target>
2839+ -->
2840+</Project>
2841\ No newline at end of file
2842
2843=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter/Form1.Designer.cs'
2844--- BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter/Form1.Designer.cs 1970-01-01 00:00:00 +0000
2845+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter/Form1.Designer.cs 2009-03-15 16:30:10 +0000
2846@@ -0,0 +1,104 @@
2847+namespace Google_DocumentsList
2848+{
2849+ partial class Form1
2850+ {
2851+ /// <summary>
2852+ /// Required designer variable.
2853+ /// </summary>
2854+ private System.ComponentModel.IContainer components = null;
2855+
2856+ /// <summary>
2857+ /// Clean up any resources being used.
2858+ /// </summary>
2859+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
2860+ protected override void Dispose(bool disposing)
2861+ {
2862+ if (disposing && (components != null))
2863+ {
2864+ components.Dispose();
2865+ }
2866+ base.Dispose(disposing);
2867+ }
2868+
2869+ #region Windows Form Designer generated code
2870+
2871+ /// <summary>
2872+ /// Required method for Designer support - do not modify
2873+ /// the contents of this method with the code editor.
2874+ /// </summary>
2875+ private void InitializeComponent()
2876+ {
2877+ this.components = new System.ComponentModel.Container();
2878+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
2879+ this.documentsView = new System.Windows.Forms.TreeView();
2880+ this.imageList = new System.Windows.Forms.ImageList(this.components);
2881+ this.propertyGrid1 = new System.Windows.Forms.PropertyGrid();
2882+ this.Export = new System.Windows.Forms.Button();
2883+ this.exportDialog = new System.Windows.Forms.SaveFileDialog();
2884+ this.SuspendLayout();
2885+ //
2886+ // documentsView
2887+ //
2888+ this.documentsView.Dock = System.Windows.Forms.DockStyle.Left;
2889+ this.documentsView.ImageIndex = 0;
2890+ this.documentsView.ImageList = this.imageList;
2891+ this.documentsView.Location = new System.Drawing.Point(0, 0);
2892+ this.documentsView.Name = "documentsView";
2893+ this.documentsView.SelectedImageIndex = 0;
2894+ this.documentsView.Size = new System.Drawing.Size(392, 447);
2895+ this.documentsView.TabIndex = 1;
2896+ this.documentsView.AfterCollapse += new System.Windows.Forms.TreeViewEventHandler(this.documentsView_AfterCollapse);
2897+ this.documentsView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.documentsView_AfterSelect);
2898+ this.documentsView.AfterExpand += new System.Windows.Forms.TreeViewEventHandler(this.documentsView_AfterExpand);
2899+ //
2900+ // imageList
2901+ //
2902+ this.imageList.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList.ImageStream")));
2903+ this.imageList.TransparentColor = System.Drawing.Color.Transparent;
2904+ this.imageList.Images.SetKeyName(0, "CLSDFOLD.BMP");
2905+ this.imageList.Images.SetKeyName(1, "OPENFOLD.BMP");
2906+ this.imageList.Images.SetKeyName(2, "DOC.BMP");
2907+ //
2908+ // propertyGrid1
2909+ //
2910+ this.propertyGrid1.Dock = System.Windows.Forms.DockStyle.Top;
2911+ this.propertyGrid1.Location = new System.Drawing.Point(392, 0);
2912+ this.propertyGrid1.Name = "propertyGrid1";
2913+ this.propertyGrid1.Size = new System.Drawing.Size(355, 360);
2914+ this.propertyGrid1.TabIndex = 2;
2915+ //
2916+ // Export
2917+ //
2918+ this.Export.Enabled = false;
2919+ this.Export.Location = new System.Drawing.Point(409, 378);
2920+ this.Export.Name = "Export";
2921+ this.Export.Size = new System.Drawing.Size(85, 33);
2922+ this.Export.TabIndex = 3;
2923+ this.Export.Text = "&Export";
2924+ this.Export.UseVisualStyleBackColor = true;
2925+ this.Export.Click += new System.EventHandler(this.Export_Click);
2926+ //
2927+ // Form1
2928+ //
2929+ this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
2930+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
2931+ this.ClientSize = new System.Drawing.Size(747, 447);
2932+ this.Controls.Add(this.Export);
2933+ this.Controls.Add(this.propertyGrid1);
2934+ this.Controls.Add(this.documentsView);
2935+ this.Name = "Form1";
2936+ this.Text = "Not logged in yet";
2937+ this.ResumeLayout(false);
2938+
2939+ }
2940+
2941+ #endregion
2942+
2943+ private System.Windows.Forms.TreeView documentsView;
2944+ private System.Windows.Forms.ImageList imageList;
2945+ private System.Windows.Forms.PropertyGrid propertyGrid1;
2946+ private System.Windows.Forms.Button Export;
2947+ private System.Windows.Forms.SaveFileDialog exportDialog;
2948+ }
2949+}
2950+
2951
2952=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter/Form1.cs'
2953--- BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter/Form1.cs 1970-01-01 00:00:00 +0000
2954+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter/Form1.cs 2009-03-15 16:30:10 +0000
2955@@ -0,0 +1,312 @@
2956+using System;
2957+using System.Collections.Generic;
2958+using System.ComponentModel;
2959+using System.Data;
2960+using System.Drawing;
2961+using System.Text;
2962+using System.IO;
2963+using System.Windows.Forms;
2964+
2965+#region Google_Documents_List5 specific imports
2966+using Google.GData.Client;
2967+using Google.GData.Extensions;
2968+using Google.GData.Documents;
2969+using Google.GData.Tools;
2970+using Google.Documents;
2971+#endregion
2972+
2973+namespace Google_DocumentsList
2974+{
2975+ public partial class Form1 : Form
2976+ {
2977+ private List<Document> all = new List<Document>();
2978+ private DocumentsRequest request = null;
2979+
2980+ public Form1()
2981+ {
2982+ InitializeComponent();
2983+
2984+ GoogleClientLogin loginDialog = new GoogleClientLogin(new DocumentsService("GoogleDocumentsSample"), "youremailhere@gmail.com");
2985+ if (loginDialog.ShowDialog() == DialogResult.OK)
2986+ {
2987+ RequestSettings settings = new RequestSettings("GoogleDocumentsSample", loginDialog.Credentials);
2988+ settings.AutoPaging = true;
2989+ settings.PageSize = 100;
2990+ if (settings != null)
2991+ {
2992+ this.request = new DocumentsRequest(settings);
2993+ this.Text = "Successfully logged in";
2994+
2995+ Feed<Document> feed = this.request.GetEverything();
2996+ // this takes care of paging the results in
2997+ foreach (Document entry in feed.Entries)
2998+ {
2999+ all.Add(entry);
3000+ }
3001+
3002+ TreeNode noFolder = null;
3003+ noFolder = new TreeNode("Items with no folder");
3004+ this.documentsView.Nodes.Add(noFolder);
3005+ noFolder.SelectedImageIndex = 0;
3006+ noFolder.ImageIndex = 0;
3007+
3008+ foreach (Document entry in all)
3009+ {
3010+ // let's add those with no parents for the toplevel
3011+ if (entry.ParentFolders.Count == 0)
3012+ {
3013+ if (entry.Type != Document.DocumentType.Folder)
3014+ {
3015+ AddToTreeView(noFolder.Nodes, entry);
3016+ }
3017+ else
3018+ {
3019+ TreeNode n = AddToTreeView(this.documentsView.Nodes, entry);
3020+ AddAllChildren(n.Nodes, entry);
3021+ }
3022+
3023+ }
3024+ }
3025+ }
3026+ }
3027+ }
3028+
3029+ private void AddAllChildren(TreeNodeCollection col, Document entry)
3030+ {
3031+ foreach (Document d in this.all)
3032+ {
3033+ if (d.ParentFolders.Contains(entry.Self))
3034+ {
3035+ TreeNode n = AddToTreeView(col, d);
3036+ AddAllChildren(n.Nodes, d);
3037+ }
3038+ }
3039+ }
3040+
3041+ private TreeNode FindEntry(TreeNodeCollection coll, Document entry)
3042+ {
3043+ foreach (TreeNode n in coll)
3044+ {
3045+ // title is not specific enough
3046+ Document d = n.Tag as Document;
3047+ if (d.Id == entry.Id)
3048+ return n;
3049+ TreeNode x = FindEntry(n.Nodes, entry);
3050+ if (x != null)
3051+ return x;
3052+ }
3053+ return null;
3054+ }
3055+
3056+ private TreeNode AddToTreeView(TreeNodeCollection parent, Document doc)
3057+ {
3058+ TreeNode node = new TreeNode(doc.Title);
3059+ node.Tag = doc;
3060+ if (doc.Type != Document.DocumentType.Folder)
3061+ {
3062+ node.ImageIndex = 2;
3063+ node.SelectedImageIndex = 2;
3064+ }
3065+ else
3066+ {
3067+ node.ImageIndex = 0;
3068+ node.SelectedImageIndex = 0;
3069+ }
3070+ parent.Add(node);
3071+ return node;
3072+ }
3073+
3074+ private TreeNodeCollection FindParentTreeNode(TreeNodeCollection coll, Document doc)
3075+ {
3076+ foreach (TreeNode n in coll)
3077+ {
3078+ Document d = n.Tag as Document;
3079+ if (doc.ParentFolders.Contains(d.Self))
3080+ {
3081+ // found it.
3082+ return n.Nodes;
3083+ }
3084+ TreeNodeCollection x = FindParentTreeNode(n.Nodes, doc);
3085+ if (x != null)
3086+ return x;
3087+ }
3088+
3089+ return null;
3090+ }
3091+
3092+ private TreeNodeCollection CreateParentTreeNode(Document doc)
3093+ {
3094+ TreeNode ret = null;
3095+ foreach (Document d in this.all)
3096+ {
3097+ if (doc.ParentFolders.Contains(d.Self))
3098+ {
3099+ TreeNodeCollection parent = null;
3100+ if (d.ParentFolders.Count != 0)
3101+ {
3102+ parent = FindParentTreeNode(this.documentsView.Nodes, d);
3103+ }
3104+ ret = AddToTreeView(parent == null ? this.documentsView.Nodes : parent, d);
3105+ return ret.Nodes;
3106+ }
3107+ }
3108+ return this.documentsView.Nodes;
3109+ }
3110+
3111+ private void documentsView_AfterExpand(object sender, TreeViewEventArgs e)
3112+ {
3113+ TreeNode node = e.Node;
3114+
3115+ if (node.Nodes.Count > 0)
3116+ {
3117+ node.SelectedImageIndex = 1;
3118+ node.ImageIndex = 1;
3119+ }
3120+ }
3121+
3122+ private void documentsView_AfterCollapse(object sender, TreeViewEventArgs e)
3123+ {
3124+ TreeNode node = e.Node;
3125+
3126+ if (node.Nodes.Count > 0)
3127+ {
3128+ node.SelectedImageIndex = 0;
3129+ node.ImageIndex = 0;
3130+ }
3131+ }
3132+
3133+ private void documentsView_AfterSelect(object sender, TreeViewEventArgs e)
3134+ {
3135+ TreeNode node = e.Node;
3136+ Document d = node.Tag as Document;
3137+ if (d != null && d.Type != Document.DocumentType.Folder)
3138+ {
3139+ this.propertyGrid1.SelectedObject = d;
3140+ if (d.Type == Document.DocumentType.PDF)
3141+ {
3142+ this.Export.Enabled = false;
3143+ }
3144+ else
3145+ {
3146+ this.Export.Enabled = true;
3147+ }
3148+ }
3149+ else
3150+ {
3151+ this.propertyGrid1.SelectedObject = null;
3152+ this.Export.Enabled = false;
3153+ }
3154+ }
3155+
3156+ private void Export_Click(object sender, EventArgs e)
3157+ {
3158+ TreeNode node = this.documentsView.SelectedNode;
3159+ if (node == null)
3160+ return;
3161+
3162+ Document d = node.Tag as Document;
3163+ // fill the filter based on the document type
3164+ switch (d.Type)
3165+ {
3166+ case Document.DocumentType.Presentation:
3167+ this.exportDialog.Filter = "PDF|*.pdf|Flash|*.swf|Powerpoint|*.ppt";
3168+ break;
3169+ case Document.DocumentType.Spreadsheet:
3170+ this.exportDialog.Filter = "PDF|*.pdf|HTML|*.html|Excel|*.xls|Comma seperated|*.csv|Open Document Spreadsheet|*.ods|Tab seperated|*.tsv";
3171+ break;
3172+ case Document.DocumentType.PDF:
3173+ return;
3174+ default:
3175+ this.exportDialog.Filter = "PDF|*.pdf|HTML|*.html|Text|*.txt|Open Document|*.ods|Rich Text|*.rtf|Microsoft Word|*.doc|Portable Networks Graphics|*.png";
3176+ break;
3177+ }
3178+
3179+
3180+
3181+ if (this.exportDialog.ShowDialog() == DialogResult.OK)
3182+ {
3183+
3184+ Document.DownloadType type = Document.DownloadType.pdf;
3185+
3186+ switch (d.Type)
3187+ {
3188+ case Document.DocumentType.Presentation:
3189+ switch (this.exportDialog.FilterIndex)
3190+ {
3191+ case 2:
3192+ type = Document.DownloadType.swf;
3193+ break;
3194+ case 3:
3195+ type = Document.DownloadType.ppt;
3196+ break;
3197+ }
3198+ break;
3199+ case Document.DocumentType.Spreadsheet:
3200+ switch (this.exportDialog.FilterIndex)
3201+ {
3202+ case 2:
3203+ type = Document.DownloadType.html;
3204+ break;
3205+ case 3:
3206+ type = Document.DownloadType.xls;
3207+ break;
3208+ case 4:
3209+ type = Document.DownloadType.csv;
3210+ break;
3211+ case 5:
3212+ type = Document.DownloadType.ods;
3213+ break;
3214+ case 6:
3215+ type = Document.DownloadType.tsv;
3216+ break;
3217+ }
3218+ break;
3219+ default:
3220+ switch (this.exportDialog.FilterIndex)
3221+ {
3222+ case 2:
3223+ type = Document.DownloadType.html;
3224+ break;
3225+ case 3:
3226+ type = Document.DownloadType.txt;
3227+ break;
3228+ case 4:
3229+ type = Document.DownloadType.ods;
3230+ break;
3231+ case 5:
3232+ type = Document.DownloadType.rtf;
3233+ break;
3234+ case 6:
3235+ type = Document.DownloadType.doc;
3236+ break;
3237+ case 7:
3238+ type = Document.DownloadType.png;
3239+ break;
3240+ }
3241+ break;
3242+ }
3243+
3244+ Stream stream = this.request.Download(d, type);
3245+
3246+ Stream file = this.exportDialog.OpenFile();
3247+
3248+ if (file != null)
3249+ {
3250+ int nBytes = 2048;
3251+ int count = 0;
3252+ Byte[] arr = new Byte[nBytes];
3253+
3254+ do
3255+ {
3256+ count = stream.Read(arr, 0, nBytes);
3257+ file.Write(arr, 0, count);
3258+
3259+ } while (count > 0);
3260+ file.Flush();
3261+ file.Close();
3262+ }
3263+ stream.Close();
3264+ }
3265+ }
3266+ }
3267+}
3268\ No newline at end of file
3269
3270=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter/Form1.resx'
3271--- BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter/Form1.resx 1970-01-01 00:00:00 +0000
3272+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter/Form1.resx 2009-03-15 16:30:10 +0000
3273@@ -0,0 +1,175 @@
3274+<?xml version="1.0" encoding="utf-8"?>
3275+<root>
3276+ <!--
3277+ Microsoft ResX Schema
3278+
3279+ Version 2.0
3280+
3281+ The primary goals of this format is to allow a simple XML format
3282+ that is mostly human readable. The generation and parsing of the
3283+ various data types are done through the TypeConverter classes
3284+ associated with the data types.
3285+
3286+ Example:
3287+
3288+ ... ado.net/XML headers & schema ...
3289+ <resheader name="resmimetype">text/microsoft-resx</resheader>
3290+ <resheader name="version">2.0</resheader>
3291+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
3292+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
3293+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
3294+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
3295+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
3296+ <value>[base64 mime encoded serialized .NET Framework object]</value>
3297+ </data>
3298+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
3299+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
3300+ <comment>This is a comment</comment>
3301+ </data>
3302+
3303+ There are any number of "resheader" rows that contain simple
3304+ name/value pairs.
3305+
3306+ Each data row contains a name, and value. The row also contains a
3307+ type or mimetype. Type corresponds to a .NET class that support
3308+ text/value conversion through the TypeConverter architecture.
3309+ Classes that don't support this are serialized and stored with the
3310+ mimetype set.
3311+
3312+ The mimetype is used for serialized objects, and tells the
3313+ ResXResourceReader how to depersist the object. This is currently not
3314+ extensible. For a given mimetype the value must be set accordingly:
3315+
3316+ Note - application/x-microsoft.net.object.binary.base64 is the format
3317+ that the ResXResourceWriter will generate, however the reader can
3318+ read any of the formats listed below.
3319+
3320+ mimetype: application/x-microsoft.net.object.binary.base64
3321+ value : The object must be serialized with
3322+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
3323+ : and then encoded with base64 encoding.
3324+
3325+ mimetype: application/x-microsoft.net.object.soap.base64
3326+ value : The object must be serialized with
3327+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
3328+ : and then encoded with base64 encoding.
3329+
3330+ mimetype: application/x-microsoft.net.object.bytearray.base64
3331+ value : The object must be serialized into a byte array
3332+ : using a System.ComponentModel.TypeConverter
3333+ : and then encoded with base64 encoding.
3334+ -->
3335+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
3336+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
3337+ <xsd:element name="root" msdata:IsDataSet="true">
3338+ <xsd:complexType>
3339+ <xsd:choice maxOccurs="unbounded">
3340+ <xsd:element name="metadata">
3341+ <xsd:complexType>
3342+ <xsd:sequence>
3343+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
3344+ </xsd:sequence>
3345+ <xsd:attribute name="name" use="required" type="xsd:string" />
3346+ <xsd:attribute name="type" type="xsd:string" />
3347+ <xsd:attribute name="mimetype" type="xsd:string" />
3348+ <xsd:attribute ref="xml:space" />
3349+ </xsd:complexType>
3350+ </xsd:element>
3351+ <xsd:element name="assembly">
3352+ <xsd:complexType>
3353+ <xsd:attribute name="alias" type="xsd:string" />
3354+ <xsd:attribute name="name" type="xsd:string" />
3355+ </xsd:complexType>
3356+ </xsd:element>
3357+ <xsd:element name="data">
3358+ <xsd:complexType>
3359+ <xsd:sequence>
3360+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
3361+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
3362+ </xsd:sequence>
3363+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
3364+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
3365+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
3366+ <xsd:attribute ref="xml:space" />
3367+ </xsd:complexType>
3368+ </xsd:element>
3369+ <xsd:element name="resheader">
3370+ <xsd:complexType>
3371+ <xsd:sequence>
3372+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
3373+ </xsd:sequence>
3374+ <xsd:attribute name="name" type="xsd:string" use="required" />
3375+ </xsd:complexType>
3376+ </xsd:element>
3377+ </xsd:choice>
3378+ </xsd:complexType>
3379+ </xsd:element>
3380+ </xsd:schema>
3381+ <resheader name="resmimetype">
3382+ <value>text/microsoft-resx</value>
3383+ </resheader>
3384+ <resheader name="version">
3385+ <value>2.0</value>
3386+ </resheader>
3387+ <resheader name="reader">
3388+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
3389+ </resheader>
3390+ <resheader name="writer">
3391+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
3392+ </resheader>
3393+ <metadata name="imageList.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
3394+ <value>17, 17</value>
3395+ </metadata>
3396+ <data name="imageList.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
3397+ <value>
3398+ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
3399+ LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
3400+ ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAC2
3401+ CQAAAk1TRnQBSQFMAgEBAwEAAQQBAAEEAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
3402+ AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
3403+ AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
3404+ AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
3405+ AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm
3406+ AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM
3407+ AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA
3408+ ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz
3409+ AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ
3410+ AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM
3411+ AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA
3412+ AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA
3413+ AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ
3414+ AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/
3415+ AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA
3416+ AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm
3417+ ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ
3418+ Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz
3419+ AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA
3420+ AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM
3421+ AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM
3422+ ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM
3423+ Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA
3424+ AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM
3425+ AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ
3426+ AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz
3427+ AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm
3428+ AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw
3429+ AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/wEAIv8NAAH/EAAi/wHs
3430+ CwcBAAH/EAAB/w4ABP8NAAL/AewK/wEHAQAB/xAADuwBAAP/DOwCAAL/AewK/wEHAQAB/xAAAewB/wH7
3431+ AQcB+wEHAfsBBwH7AQcB+wEHAfsB7AEAA/8B7AH/AfsBBwH7AQcB+wEHAfsBBwH7AewCAAL/AewK/wEH
3432+ AQAB/xAAAewB/wEHAfsBBwH7AQcB+wEHAfsBBwH7AQcB7AEAAv8B7AH/AfsBBwH7AQcB+wEHAfsBBwH7
3433+ AQcBAAHsAQAC/wHsCv8BBwEAAf8QAAHsAf8B+wEHAfsBBwH7AQcB+wEHAfsBBwH7AewBAAL/AewB/wEH
3434+ AfsBBwH7AQcB+wEHAfsBBwHsAQAB7AEAAv8B7Ar/AQcBAAH/EAAB7AH/AQcB+wEHAfsBBwH7AQcB+wEH
3435+ AfsBBwHsAQAB/wHsAf8BBwH7AQcB+wEHAfsBBwH7AQcB+wEAAuwBAAL/AewK/wEHAQAB/xAAAewB/wH7
3436+ AQcB+wEHAfsBBwH7AQcB+wEHAfsB7AEAAf8B7Ar/AewBAAEHAewBAAL/AewK/wEHAQAB/xAAAewB/wEH
3437+ AfsBBwH7AQcB+wEHAfsBBwH7AQcB7AEAAf8N7AH7AewBAAL/AewK/wEHAQAB/xAAAewB/wH7AQcB+wEH
3438+ AfsBBwH7AQcB+wEHAfsB7AEAAv8B7AH/AQcB+wEHAfsBBwH7AQcB+wEHAfsBBwHsAQAC/wHsCv8BBwEA
3439+ Af8QAAHsDP8B7AEAAv8B7AH/AfsBBwH7AQcB+wEHBf8B7AEAAv8B7Ar/AQcBAAH/EAAB7AEHAfsBBwH7
3440+ AQcB+wEHBuwD/wHsAf8BBwH7AQcB+wEHAf8G7AP/AewI/wQAAf8QAAH/AewBBwH7AQcB+wEHAewK/wHs
3441+ Bf8B7An/AewI/wEHAf8B7AL/EAAC/wXsDP8F7Ar/AewI/wEHAewD/xAAIv8K7AT/EAABQgFNAT4HAAE+
3442+ AwABKAMAAUADAAEQAwABAQEAAQEFAAGAFwAD/4EACw==
3443+</value>
3444+ </data>
3445+ <metadata name="exportDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
3446+ <value>129, 17</value>
3447+ </metadata>
3448+</root>
3449\ No newline at end of file
3450
3451=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter/GoogleClientLogin.cs'
3452--- BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter/GoogleClientLogin.cs 1970-01-01 00:00:00 +0000
3453+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter/GoogleClientLogin.cs 2009-03-15 16:30:10 +0000
3454@@ -0,0 +1,218 @@
3455+using System;
3456+using System.Drawing;
3457+using System.Collections;
3458+using System.ComponentModel;
3459+using System.Windows.Forms;
3460+using Google.GData.Client;
3461+
3462+namespace Google.GData.Tools
3463+{
3464+ /// <summary>
3465+ /// This is a sample implementation for a login dialog. It returns you the authToken gained
3466+ /// from the Google Client Login Service
3467+ /// </summary>
3468+ public class GoogleClientLogin : System.Windows.Forms.Form
3469+ {
3470+ private GDataCredentials credentials;
3471+
3472+ private System.Windows.Forms.TextBox Password;
3473+ private System.Windows.Forms.CheckBox RememberToken;
3474+ private System.Windows.Forms.Button Login;
3475+ private System.Windows.Forms.Button Cancel;
3476+ private System.Windows.Forms.Label label1;
3477+ private System.Windows.Forms.Label label2;
3478+ private System.Windows.Forms.TextBox Username;
3479+ private Service service;
3480+ /// <summary>
3481+ /// Required designer variable.
3482+ /// </summary>
3483+ private System.ComponentModel.Container components = null;
3484+
3485+ /// <summary>
3486+ /// allows you to construct the dialog with a given service
3487+ /// </summary>
3488+ /// <param name="serviceToUse">the service object to use</param>
3489+ public GoogleClientLogin()
3490+ {
3491+ //
3492+ // Required for Windows Form Designer support
3493+ //
3494+ InitializeComponent();
3495+ }
3496+
3497+ /// <summary>
3498+ /// allows you to construct the dialog with a given service
3499+ /// and prefill the username to show
3500+ /// </summary>
3501+ /// <param name="serviceToUse">the service object to use</param>
3502+ /// <param name="username">the username</param>
3503+ public GoogleClientLogin(Service serviceToUse, string username)
3504+ {
3505+ //
3506+ // Required for Windows Form Designer support
3507+ //
3508+ InitializeComponent();
3509+
3510+ this.service = serviceToUse;
3511+ this.Username.Text = username;
3512+ }
3513+
3514+
3515+ /// <summary>
3516+ /// Clean up any resources being used.
3517+ /// </summary>
3518+ protected override void Dispose(bool disposing)
3519+ {
3520+ if (disposing)
3521+ {
3522+ if (components != null)
3523+ {
3524+ components.Dispose();
3525+ }
3526+ }
3527+ base.Dispose(disposing);
3528+ }
3529+
3530+ #region Windows Form Designer generated code
3531+ /// <summary>
3532+ /// Required method for Designer support - do not modify
3533+ /// the contents of this method with the code editor.
3534+ /// </summary>
3535+ private void InitializeComponent()
3536+ {
3537+ this.Login = new System.Windows.Forms.Button();
3538+ this.Cancel = new System.Windows.Forms.Button();
3539+ this.Username = new System.Windows.Forms.TextBox();
3540+ this.Password = new System.Windows.Forms.TextBox();
3541+ this.RememberToken = new System.Windows.Forms.CheckBox();
3542+ this.label1 = new System.Windows.Forms.Label();
3543+ this.label2 = new System.Windows.Forms.Label();
3544+ this.SuspendLayout();
3545+ //
3546+ // Login
3547+ //
3548+ this.Login.Location = new System.Drawing.Point(240, 104);
3549+ this.Login.Name = "Login";
3550+ this.Login.Size = new System.Drawing.Size(80, 32);
3551+ this.Login.TabIndex = 4;
3552+ this.Login.Text = "&Login";
3553+ this.Login.Click += new System.EventHandler(this.Login_Click);
3554+ //
3555+ // Cancel
3556+ //
3557+ this.Cancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
3558+ this.Cancel.Location = new System.Drawing.Point(144, 104);
3559+ this.Cancel.Name = "Cancel";
3560+ this.Cancel.Size = new System.Drawing.Size(80, 32);
3561+ this.Cancel.TabIndex = 3;
3562+ this.Cancel.Text = "&Cancel";
3563+ this.Cancel.Click += new System.EventHandler(this.Cancel_Click);
3564+ //
3565+ // Username
3566+ //
3567+ this.Username.Location = new System.Drawing.Point(112, 16);
3568+ this.Username.Name = "Username";
3569+ this.Username.Size = new System.Drawing.Size(208, 22);
3570+ this.Username.TabIndex = 1;
3571+ //
3572+ // Password
3573+ //
3574+ this.Password.Location = new System.Drawing.Point(112, 48);
3575+ this.Password.Name = "Password";
3576+ this.Password.PasswordChar = '*';
3577+ this.Password.Size = new System.Drawing.Size(208, 22);
3578+ this.Password.TabIndex = 2;
3579+ //
3580+ // RememberToken
3581+ //
3582+ this.RememberToken.Location = new System.Drawing.Point(16, 80);
3583+ this.RememberToken.Name = "RememberToken";
3584+ this.RememberToken.Size = new System.Drawing.Size(160, 24);
3585+ this.RememberToken.TabIndex = 4;
3586+ this.RememberToken.Text = "Remember the Token";
3587+ this.RememberToken.Visible = false;
3588+ //
3589+ // label1
3590+ //
3591+ this.label1.Location = new System.Drawing.Point(16, 16);
3592+ this.label1.Name = "label1";
3593+ this.label1.Size = new System.Drawing.Size(88, 32);
3594+ this.label1.TabIndex = 5;
3595+ this.label1.Text = "Username:";
3596+ //
3597+ // label2
3598+ //
3599+ this.label2.Location = new System.Drawing.Point(16, 48);
3600+ this.label2.Name = "label2";
3601+ this.label2.Size = new System.Drawing.Size(88, 32);
3602+ this.label2.TabIndex = 6;
3603+ this.label2.Text = "Password: ";
3604+ //
3605+ // GoogleClientLogin
3606+ //
3607+ this.AcceptButton = this.Login;
3608+ this.AutoScaleBaseSize = new System.Drawing.Size(6, 15);
3609+ this.CancelButton = this.Cancel;
3610+ this.ClientSize = new System.Drawing.Size(344, 152);
3611+ this.Controls.Add(this.label2);
3612+ this.Controls.Add(this.label1);
3613+ this.Controls.Add(this.RememberToken);
3614+ this.Controls.Add(this.Password);
3615+ this.Controls.Add(this.Username);
3616+ this.Controls.Add(this.Cancel);
3617+ this.Controls.Add(this.Login);
3618+ this.Name = "GoogleClientLogin";
3619+ this.Text = "GoogleClientLogin";
3620+ this.ResumeLayout(false);
3621+ this.PerformLayout();
3622+
3623+ }
3624+ #endregion
3625+
3626+
3627+ /// <summary>
3628+ /// returns the authentication token
3629+ /// </summary>
3630+ public GDataCredentials Credentials
3631+ {
3632+ get
3633+ {
3634+ return this.credentials;
3635+ }
3636+ }
3637+
3638+
3639+
3640+ /// <summary>
3641+ /// returns the user name
3642+ /// </summary>
3643+ public string User
3644+ {
3645+ get
3646+ {
3647+ return this.Username.Text;
3648+ }
3649+ }
3650+
3651+ private void Cancel_Click(object sender, System.EventArgs e)
3652+ {
3653+ this.credentials = null;
3654+ this.Close();
3655+ }
3656+
3657+ private void Login_Click(object sender, System.EventArgs e)
3658+ {
3659+ try
3660+ {
3661+ this.credentials = new GDataCredentials(this.Username.Text, this.Password.Text);
3662+ this.DialogResult = DialogResult.OK;
3663+ this.Close();
3664+ }
3665+ catch (AuthenticationException a)
3666+ {
3667+ MessageBox.Show(a.Message);
3668+ }
3669+
3670+ }
3671+ }
3672+}
3673
3674=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter/GoogleClientLogin.resx'
3675--- BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter/GoogleClientLogin.resx 1970-01-01 00:00:00 +0000
3676+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter/GoogleClientLogin.resx 2009-03-15 16:30:10 +0000
3677@@ -0,0 +1,120 @@
3678+<?xml version="1.0" encoding="utf-8"?>
3679+<root>
3680+ <!--
3681+ Microsoft ResX Schema
3682+
3683+ Version 2.0
3684+
3685+ The primary goals of this format is to allow a simple XML format
3686+ that is mostly human readable. The generation and parsing of the
3687+ various data types are done through the TypeConverter classes
3688+ associated with the data types.
3689+
3690+ Example:
3691+
3692+ ... ado.net/XML headers & schema ...
3693+ <resheader name="resmimetype">text/microsoft-resx</resheader>
3694+ <resheader name="version">2.0</resheader>
3695+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
3696+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
3697+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
3698+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
3699+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
3700+ <value>[base64 mime encoded serialized .NET Framework object]</value>
3701+ </data>
3702+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
3703+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
3704+ <comment>This is a comment</comment>
3705+ </data>
3706+
3707+ There are any number of "resheader" rows that contain simple
3708+ name/value pairs.
3709+
3710+ Each data row contains a name, and value. The row also contains a
3711+ type or mimetype. Type corresponds to a .NET class that support
3712+ text/value conversion through the TypeConverter architecture.
3713+ Classes that don't support this are serialized and stored with the
3714+ mimetype set.
3715+
3716+ The mimetype is used for serialized objects, and tells the
3717+ ResXResourceReader how to depersist the object. This is currently not
3718+ extensible. For a given mimetype the value must be set accordingly:
3719+
3720+ Note - application/x-microsoft.net.object.binary.base64 is the format
3721+ that the ResXResourceWriter will generate, however the reader can
3722+ read any of the formats listed below.
3723+
3724+ mimetype: application/x-microsoft.net.object.binary.base64
3725+ value : The object must be serialized with
3726+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
3727+ : and then encoded with base64 encoding.
3728+
3729+ mimetype: application/x-microsoft.net.object.soap.base64
3730+ value : The object must be serialized with
3731+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
3732+ : and then encoded with base64 encoding.
3733+
3734+ mimetype: application/x-microsoft.net.object.bytearray.base64
3735+ value : The object must be serialized into a byte array
3736+ : using a System.ComponentModel.TypeConverter
3737+ : and then encoded with base64 encoding.
3738+ -->
3739+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
3740+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
3741+ <xsd:element name="root" msdata:IsDataSet="true">
3742+ <xsd:complexType>
3743+ <xsd:choice maxOccurs="unbounded">
3744+ <xsd:element name="metadata">
3745+ <xsd:complexType>
3746+ <xsd:sequence>
3747+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
3748+ </xsd:sequence>
3749+ <xsd:attribute name="name" use="required" type="xsd:string" />
3750+ <xsd:attribute name="type" type="xsd:string" />
3751+ <xsd:attribute name="mimetype" type="xsd:string" />
3752+ <xsd:attribute ref="xml:space" />
3753+ </xsd:complexType>
3754+ </xsd:element>
3755+ <xsd:element name="assembly">
3756+ <xsd:complexType>
3757+ <xsd:attribute name="alias" type="xsd:string" />
3758+ <xsd:attribute name="name" type="xsd:string" />
3759+ </xsd:complexType>
3760+ </xsd:element>
3761+ <xsd:element name="data">
3762+ <xsd:complexType>
3763+ <xsd:sequence>
3764+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
3765+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
3766+ </xsd:sequence>
3767+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
3768+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
3769+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
3770+ <xsd:attribute ref="xml:space" />
3771+ </xsd:complexType>
3772+ </xsd:element>
3773+ <xsd:element name="resheader">
3774+ <xsd:complexType>
3775+ <xsd:sequence>
3776+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
3777+ </xsd:sequence>
3778+ <xsd:attribute name="name" type="xsd:string" use="required" />
3779+ </xsd:complexType>
3780+ </xsd:element>
3781+ </xsd:choice>
3782+ </xsd:complexType>
3783+ </xsd:element>
3784+ </xsd:schema>
3785+ <resheader name="resmimetype">
3786+ <value>text/microsoft-resx</value>
3787+ </resheader>
3788+ <resheader name="version">
3789+ <value>2.0</value>
3790+ </resheader>
3791+ <resheader name="reader">
3792+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
3793+ </resheader>
3794+ <resheader name="writer">
3795+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
3796+ </resheader>
3797+</root>
3798\ No newline at end of file
3799
3800=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter/Program.cs'
3801--- BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter/Program.cs 1970-01-01 00:00:00 +0000
3802+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter/Program.cs 2009-03-15 16:30:10 +0000
3803@@ -0,0 +1,20 @@
3804+using System;
3805+using System.Collections.Generic;
3806+using System.Windows.Forms;
3807+
3808+namespace Google_DocumentsList
3809+{
3810+ static class Program
3811+ {
3812+ /// <summary>
3813+ /// The main entry point for the application.
3814+ /// </summary>
3815+ [STAThread]
3816+ static void Main()
3817+ {
3818+ Application.EnableVisualStyles();
3819+ Application.SetCompatibleTextRenderingDefault(false);
3820+ Application.Run(new Form1());
3821+ }
3822+ }
3823+}
3824\ No newline at end of file
3825
3826=== added directory 'BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter/Properties'
3827=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter/Properties/AssemblyInfo.cs'
3828--- BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter/Properties/AssemblyInfo.cs 1970-01-01 00:00:00 +0000
3829+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter/Properties/AssemblyInfo.cs 2009-03-15 16:30:10 +0000
3830@@ -0,0 +1,15 @@
3831+using System.Reflection;
3832+using System.Runtime.CompilerServices;
3833+using System.Runtime.InteropServices;
3834+
3835+// General Information about an assembly is controlled through the following
3836+// set of attributes. Change these attribute values to modify the information
3837+// associated with an assembly.
3838+[assembly: AssemblyTitle("Google DocumentList Exporter Sample Application")]
3839+[assembly: AssemblyConfiguration("")]
3840+
3841+
3842+// The following GUID is for the ID of the typelib if this project is exposed to COM
3843+[assembly: Guid("3050e819-cefa-40e9-a18c-8dee09e9b9a5")]
3844+
3845+
3846
3847=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter/Properties/Resources.Designer.cs'
3848--- BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter/Properties/Resources.Designer.cs 1970-01-01 00:00:00 +0000
3849+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter/Properties/Resources.Designer.cs 2009-03-15 16:30:10 +0000
3850@@ -0,0 +1,63 @@
3851+//------------------------------------------------------------------------------
3852+// <auto-generated>
3853+// This code was generated by a tool.
3854+// Runtime Version:2.0.50727.1433
3855+//
3856+// Changes to this file may cause incorrect behavior and will be lost if
3857+// the code is regenerated.
3858+// </auto-generated>
3859+//------------------------------------------------------------------------------
3860+
3861+namespace DocListExport.Properties {
3862+ using System;
3863+
3864+
3865+ /// <summary>
3866+ /// A strongly-typed resource class, for looking up localized strings, etc.
3867+ /// </summary>
3868+ // This class was auto-generated by the StronglyTypedResourceBuilder
3869+ // class via a tool like ResGen or Visual Studio.
3870+ // To add or remove a member, edit your .ResX file then rerun ResGen
3871+ // with the /str option, or rebuild your VS project.
3872+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
3873+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
3874+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
3875+ internal class Resources {
3876+
3877+ private static global::System.Resources.ResourceManager resourceMan;
3878+
3879+ private static global::System.Globalization.CultureInfo resourceCulture;
3880+
3881+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
3882+ internal Resources() {
3883+ }
3884+
3885+ /// <summary>
3886+ /// Returns the cached ResourceManager instance used by this class.
3887+ /// </summary>
3888+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
3889+ internal static global::System.Resources.ResourceManager ResourceManager {
3890+ get {
3891+ if (object.ReferenceEquals(resourceMan, null)) {
3892+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("DocListExport.Properties.Resources", typeof(Resources).Assembly);
3893+ resourceMan = temp;
3894+ }
3895+ return resourceMan;
3896+ }
3897+ }
3898+
3899+ /// <summary>
3900+ /// Overrides the current thread's CurrentUICulture property for all
3901+ /// resource lookups using this strongly typed resource class.
3902+ /// </summary>
3903+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
3904+ internal static global::System.Globalization.CultureInfo Culture {
3905+ get {
3906+ return resourceCulture;
3907+ }
3908+ set {
3909+ resourceCulture = value;
3910+ }
3911+ }
3912+ }
3913+}
3914
3915=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter/Properties/Resources.resx'
3916--- BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter/Properties/Resources.resx 1970-01-01 00:00:00 +0000
3917+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter/Properties/Resources.resx 2009-03-15 16:30:10 +0000
3918@@ -0,0 +1,117 @@
3919+<?xml version="1.0" encoding="utf-8"?>
3920+<root>
3921+ <!--
3922+ Microsoft ResX Schema
3923+
3924+ Version 2.0
3925+
3926+ The primary goals of this format is to allow a simple XML format
3927+ that is mostly human readable. The generation and parsing of the
3928+ various data types are done through the TypeConverter classes
3929+ associated with the data types.
3930+
3931+ Example:
3932+
3933+ ... ado.net/XML headers & schema ...
3934+ <resheader name="resmimetype">text/microsoft-resx</resheader>
3935+ <resheader name="version">2.0</resheader>
3936+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
3937+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
3938+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
3939+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
3940+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
3941+ <value>[base64 mime encoded serialized .NET Framework object]</value>
3942+ </data>
3943+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
3944+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
3945+ <comment>This is a comment</comment>
3946+ </data>
3947+
3948+ There are any number of "resheader" rows that contain simple
3949+ name/value pairs.
3950+
3951+ Each data row contains a name, and value. The row also contains a
3952+ type or mimetype. Type corresponds to a .NET class that support
3953+ text/value conversion through the TypeConverter architecture.
3954+ Classes that don't support this are serialized and stored with the
3955+ mimetype set.
3956+
3957+ The mimetype is used for serialized objects, and tells the
3958+ ResXResourceReader how to depersist the object. This is currently not
3959+ extensible. For a given mimetype the value must be set accordingly:
3960+
3961+ Note - application/x-microsoft.net.object.binary.base64 is the format
3962+ that the ResXResourceWriter will generate, however the reader can
3963+ read any of the formats listed below.
3964+
3965+ mimetype: application/x-microsoft.net.object.binary.base64
3966+ value : The object must be serialized with
3967+ : System.Serialization.Formatters.Binary.BinaryFormatter
3968+ : and then encoded with base64 encoding.
3969+
3970+ mimetype: application/x-microsoft.net.object.soap.base64
3971+ value : The object must be serialized with
3972+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
3973+ : and then encoded with base64 encoding.
3974+
3975+ mimetype: application/x-microsoft.net.object.bytearray.base64
3976+ value : The object must be serialized into a byte array
3977+ : using a System.ComponentModel.TypeConverter
3978+ : and then encoded with base64 encoding.
3979+ -->
3980+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
3981+ <xsd:element name="root" msdata:IsDataSet="true">
3982+ <xsd:complexType>
3983+ <xsd:choice maxOccurs="unbounded">
3984+ <xsd:element name="metadata">
3985+ <xsd:complexType>
3986+ <xsd:sequence>
3987+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
3988+ </xsd:sequence>
3989+ <xsd:attribute name="name" type="xsd:string" />
3990+ <xsd:attribute name="type" type="xsd:string" />
3991+ <xsd:attribute name="mimetype" type="xsd:string" />
3992+ </xsd:complexType>
3993+ </xsd:element>
3994+ <xsd:element name="assembly">
3995+ <xsd:complexType>
3996+ <xsd:attribute name="alias" type="xsd:string" />
3997+ <xsd:attribute name="name" type="xsd:string" />
3998+ </xsd:complexType>
3999+ </xsd:element>
4000+ <xsd:element name="data">
4001+ <xsd:complexType>
4002+ <xsd:sequence>
4003+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
4004+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
4005+ </xsd:sequence>
4006+ <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
4007+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
4008+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
4009+ </xsd:complexType>
4010+ </xsd:element>
4011+ <xsd:element name="resheader">
4012+ <xsd:complexType>
4013+ <xsd:sequence>
4014+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
4015+ </xsd:sequence>
4016+ <xsd:attribute name="name" type="xsd:string" use="required" />
4017+ </xsd:complexType>
4018+ </xsd:element>
4019+ </xsd:choice>
4020+ </xsd:complexType>
4021+ </xsd:element>
4022+ </xsd:schema>
4023+ <resheader name="resmimetype">
4024+ <value>text/microsoft-resx</value>
4025+ </resheader>
4026+ <resheader name="version">
4027+ <value>2.0</value>
4028+ </resheader>
4029+ <resheader name="reader">
4030+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
4031+ </resheader>
4032+ <resheader name="writer">
4033+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
4034+ </resheader>
4035+</root>
4036\ No newline at end of file
4037
4038=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter/Properties/Settings.Designer.cs'
4039--- BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter/Properties/Settings.Designer.cs 1970-01-01 00:00:00 +0000
4040+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter/Properties/Settings.Designer.cs 2009-03-15 16:30:10 +0000
4041@@ -0,0 +1,26 @@
4042+//------------------------------------------------------------------------------
4043+// <auto-generated>
4044+// This code was generated by a tool.
4045+// Runtime Version:2.0.50727.1433
4046+//
4047+// Changes to this file may cause incorrect behavior and will be lost if
4048+// the code is regenerated.
4049+// </auto-generated>
4050+//------------------------------------------------------------------------------
4051+
4052+namespace DocListExport.Properties {
4053+
4054+
4055+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
4056+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "8.0.0.0")]
4057+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
4058+
4059+ private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
4060+
4061+ public static Settings Default {
4062+ get {
4063+ return defaultInstance;
4064+ }
4065+ }
4066+ }
4067+}
4068
4069=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter/Properties/Settings.settings'
4070--- BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter/Properties/Settings.settings 1970-01-01 00:00:00 +0000
4071+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListExporter/Properties/Settings.settings 2009-03-15 16:30:10 +0000
4072@@ -0,0 +1,7 @@
4073+<?xml version='1.0' encoding='utf-8'?>
4074+<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
4075+ <Profiles>
4076+ <Profile Name="(Default)" />
4077+ </Profiles>
4078+ <Settings />
4079+</SettingsFile>
4080
4081=== added directory 'BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListUploader'
4082=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListUploader/DocListUploader.csproj'
4083--- BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListUploader/DocListUploader.csproj 1970-01-01 00:00:00 +0000
4084+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListUploader/DocListUploader.csproj 2009-03-15 16:30:10 +0000
4085@@ -0,0 +1,119 @@
4086+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4087+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DocListUploader - Release|AnyCPU' ">
4088+ <OutputPath>bin\DocListUploader - Release\</OutputPath>
4089+ <DefineConstants>TRACE</DefineConstants>
4090+ <Optimize>true</Optimize>
4091+ <DebugType>pdbonly</DebugType>
4092+ <PlatformTarget>AnyCPU</PlatformTarget>
4093+ <ErrorReport>prompt</ErrorReport>
4094+ </PropertyGroup>
4095+ <PropertyGroup>
4096+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
4097+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
4098+ <ProductVersion>8.0.50727</ProductVersion>
4099+ <SchemaVersion>2.0</SchemaVersion>
4100+ <ProjectGuid>{E85CC897-2192-4C43-BEC1-941FE8560786}</ProjectGuid>
4101+ <OutputType>WinExe</OutputType>
4102+ <AppDesignerFolder>Properties</AppDesignerFolder>
4103+ <RootNamespace>DocListUploader</RootNamespace>
4104+ <AssemblyName>DocListUploader</AssemblyName>
4105+ <ApplicationIcon>DocListUploader.ico</ApplicationIcon>
4106+ </PropertyGroup>
4107+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
4108+ <DebugSymbols>true</DebugSymbols>
4109+ <DebugType>full</DebugType>
4110+ <Optimize>false</Optimize>
4111+ <OutputPath>bin\Debug\</OutputPath>
4112+ <DefineConstants>DEBUG;TRACE</DefineConstants>
4113+ <ErrorReport>prompt</ErrorReport>
4114+ <WarningLevel>4</WarningLevel>
4115+ <UseVSHostingProcess>false</UseVSHostingProcess>
4116+ </PropertyGroup>
4117+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
4118+ <DebugType>pdbonly</DebugType>
4119+ <Optimize>true</Optimize>
4120+ <OutputPath>bin\Release\</OutputPath>
4121+ <DefineConstants>TRACE</DefineConstants>
4122+ <ErrorReport>prompt</ErrorReport>
4123+ <WarningLevel>4</WarningLevel>
4124+ <UseVSHostingProcess>false</UseVSHostingProcess>
4125+ </PropertyGroup>
4126+ <ItemGroup>
4127+ <Reference Include="Google.GData.Client, Version=1.1.3.22162, Culture=neutral, PublicKeyToken=04a59ca9b0273830, processorArchitecture=MSIL">
4128+ <SpecificVersion>False</SpecificVersion>
4129+ <HintPath>..\..\lib\Release\Google.GData.Client.dll</HintPath>
4130+ </Reference>
4131+ <Reference Include="Google.GData.Documents, Version=1.1.3.0, Culture=neutral, PublicKeyToken=099e9a853da5b089">
4132+ <SpecificVersion>False</SpecificVersion>
4133+ <HintPath>..\..\lib\Release\Google.GData.Documents.dll</HintPath>
4134+ </Reference>
4135+ <Reference Include="Google.GData.Extensions, Version=1.1.3.22162, Culture=neutral, PublicKeyToken=0b4c5df2ebf20876, processorArchitecture=MSIL">
4136+ <SpecificVersion>False</SpecificVersion>
4137+ <HintPath>..\..\lib\Release\Google.GData.Extensions.dll</HintPath>
4138+ </Reference>
4139+ <Reference Include="System" />
4140+ <Reference Include="System.Data" />
4141+ <Reference Include="System.Deployment" />
4142+ <Reference Include="System.Drawing" />
4143+ <Reference Include="System.Runtime.Remoting" />
4144+ <Reference Include="System.Windows.Forms" />
4145+ <Reference Include="System.Xml" />
4146+ </ItemGroup>
4147+ <ItemGroup>
4148+ <Compile Include="HiddenForm.cs">
4149+ <SubType>Form</SubType>
4150+ </Compile>
4151+ <Compile Include="HiddenForm.Designer.cs">
4152+ <DependentUpon>HiddenForm.cs</DependentUpon>
4153+ </Compile>
4154+ <Compile Include="OptionsForm.cs">
4155+ <SubType>Form</SubType>
4156+ </Compile>
4157+ <Compile Include="OptionsForm.Designer.cs">
4158+ <DependentUpon>OptionsForm.cs</DependentUpon>
4159+ </Compile>
4160+ <Compile Include="Properties\AssemblyInfo.cs" />
4161+ <EmbeddedResource Include="HiddenForm.resx">
4162+ <SubType>Designer</SubType>
4163+ <DependentUpon>HiddenForm.cs</DependentUpon>
4164+ </EmbeddedResource>
4165+ <EmbeddedResource Include="OptionsForm.resx">
4166+ <SubType>Designer</SubType>
4167+ <DependentUpon>OptionsForm.cs</DependentUpon>
4168+ </EmbeddedResource>
4169+ <EmbeddedResource Include="Properties\Resources.resx">
4170+ <Generator>ResXFileCodeGenerator</Generator>
4171+ <LastGenOutput>Resources.Designer.cs</LastGenOutput>
4172+ <SubType>Designer</SubType>
4173+ </EmbeddedResource>
4174+ <Compile Include="Properties\Resources.Designer.cs">
4175+ <AutoGen>True</AutoGen>
4176+ <DependentUpon>Resources.resx</DependentUpon>
4177+ </Compile>
4178+ <None Include="Properties\Settings.settings">
4179+ <Generator>SettingsSingleFileGenerator</Generator>
4180+ <LastGenOutput>Settings.Designer.cs</LastGenOutput>
4181+ </None>
4182+ <Compile Include="Properties\Settings.Designer.cs">
4183+ <AutoGen>True</AutoGen>
4184+ <DependentUpon>Settings.settings</DependentUpon>
4185+ <DesignTimeSharedInput>True</DesignTimeSharedInput>
4186+ </Compile>
4187+ <Compile Include="RemoteMessage.cs" />
4188+ </ItemGroup>
4189+ <ItemGroup>
4190+ <Content Include="DocListUploader.ico" />
4191+ </ItemGroup>
4192+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
4193+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
4194+ Other similar extension points exist, see Microsoft.Common.targets.
4195+ <Target Name="BeforeBuild">
4196+ </Target>
4197+ <Target Name="AfterBuild">
4198+ </Target>
4199+ -->
4200+ <PropertyGroup>
4201+ <PostBuildEvent>
4202+ </PostBuildEvent>
4203+ </PropertyGroup>
4204+</Project>
4205\ No newline at end of file
4206
4207=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListUploader/DocListUploader.ico'
4208Binary files BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListUploader/DocListUploader.ico 1970-01-01 00:00:00 +0000 and BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListUploader/DocListUploader.ico 2009-03-15 16:30:10 +0000 differ
4209=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListUploader/DocListUploader.sln'
4210--- BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListUploader/DocListUploader.sln 1970-01-01 00:00:00 +0000
4211+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListUploader/DocListUploader.sln 2009-03-15 16:30:10 +0000
4212@@ -0,0 +1,23 @@
4213+
4214+Microsoft Visual Studio Solution File, Format Version 9.00
4215+# Visual Studio 2005
4216+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DocListUploader", "DocListUploader.csproj", "{E85CC897-2192-4C43-BEC1-941FE8560786}"
4217+EndProject
4218+Global
4219+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
4220+ Debug|Any CPU = Debug|Any CPU
4221+ DocListUploader - Release|Any CPU = DocListUploader - Release|Any CPU
4222+ Release|Any CPU = Release|Any CPU
4223+ EndGlobalSection
4224+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
4225+ {E85CC897-2192-4C43-BEC1-941FE8560786}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
4226+ {E85CC897-2192-4C43-BEC1-941FE8560786}.Debug|Any CPU.Build.0 = Debug|Any CPU
4227+ {E85CC897-2192-4C43-BEC1-941FE8560786}.DocListUploader - Release|Any CPU.ActiveCfg = DocListUploader - Release|Any CPU
4228+ {E85CC897-2192-4C43-BEC1-941FE8560786}.DocListUploader - Release|Any CPU.Build.0 = DocListUploader - Release|Any CPU
4229+ {E85CC897-2192-4C43-BEC1-941FE8560786}.Release|Any CPU.ActiveCfg = Release|Any CPU
4230+ {E85CC897-2192-4C43-BEC1-941FE8560786}.Release|Any CPU.Build.0 = Release|Any CPU
4231+ EndGlobalSection
4232+ GlobalSection(SolutionProperties) = preSolution
4233+ HideSolutionNode = FALSE
4234+ EndGlobalSection
4235+EndGlobal
4236
4237=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListUploader/Document.gif'
4238Binary files BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListUploader/Document.gif 1970-01-01 00:00:00 +0000 and BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListUploader/Document.gif 2009-03-15 16:30:10 +0000 differ
4239=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListUploader/HiddenForm.Designer.cs'
4240--- BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListUploader/HiddenForm.Designer.cs 1970-01-01 00:00:00 +0000
4241+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListUploader/HiddenForm.Designer.cs 2009-03-15 16:30:10 +0000
4242@@ -0,0 +1,101 @@
4243+namespace DocListUploader
4244+{
4245+ partial class HiddenForm
4246+ {
4247+ /// <summary>
4248+ /// Required designer variable.
4249+ /// </summary>
4250+ private System.ComponentModel.IContainer components = null;
4251+
4252+ /// <summary>
4253+ /// Clean up any resources being used.
4254+ /// </summary>
4255+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
4256+ protected override void Dispose(bool disposing)
4257+ {
4258+ if (disposing && (components != null))
4259+ {
4260+ components.Dispose();
4261+ }
4262+ base.Dispose(disposing);
4263+ }
4264+
4265+ #region Windows Form Designer generated code
4266+
4267+ /// <summary>
4268+ /// Required method for Designer support - do not modify
4269+ /// the contents of this method with the code editor.
4270+ /// </summary>
4271+ private void InitializeComponent()
4272+ {
4273+ this.components = new System.ComponentModel.Container();
4274+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(HiddenForm));
4275+ this.DocListNotifyIcon = new System.Windows.Forms.NotifyIcon(this.components);
4276+ this.DocListMenu = new System.Windows.Forms.ContextMenuStrip(this.components);
4277+ this.optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
4278+ this.CloseMenuItem = new System.Windows.Forms.ToolStripMenuItem();
4279+ this.DocListMenu.SuspendLayout();
4280+ this.SuspendLayout();
4281+ //
4282+ // DocListNotifyIcon
4283+ //
4284+ this.DocListNotifyIcon.ContextMenuStrip = this.DocListMenu;
4285+ this.DocListNotifyIcon.Icon = ((System.Drawing.Icon) (resources.GetObject("DocListNotifyIcon.Icon")));
4286+ this.DocListNotifyIcon.Text = "DocList Uploader";
4287+ this.DocListNotifyIcon.Visible = true;
4288+ this.DocListNotifyIcon.MouseClick += new System.Windows.Forms.MouseEventHandler(this.DocListNotifyIcon_MouseClick);
4289+ this.DocListNotifyIcon.DoubleClick += new System.EventHandler(this.DocListNotifyIcon_DoubleClick);
4290+ this.DocListNotifyIcon.BalloonTipClicked += new System.EventHandler(this.DocListNotifyIcon_BalloonTipClicked);
4291+ //
4292+ // DocListMenu
4293+ //
4294+ this.DocListMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
4295+ this.optionsToolStripMenuItem,
4296+ this.CloseMenuItem});
4297+ this.DocListMenu.Name = "DocListMenu";
4298+ this.DocListMenu.ShowImageMargin = false;
4299+ this.DocListMenu.Size = new System.Drawing.Size(142, 48);
4300+ //
4301+ // optionsToolStripMenuItem
4302+ //
4303+ this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem";
4304+ this.optionsToolStripMenuItem.Size = new System.Drawing.Size(141, 22);
4305+ this.optionsToolStripMenuItem.Text = "Options";
4306+ this.optionsToolStripMenuItem.Click += new System.EventHandler(this.optionsToolStripMenuItem_Click);
4307+ //
4308+ // CloseMenuItem
4309+ //
4310+ this.CloseMenuItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
4311+ this.CloseMenuItem.Name = "CloseMenuItem";
4312+ this.CloseMenuItem.Size = new System.Drawing.Size(141, 22);
4313+ this.CloseMenuItem.Text = "Close Application";
4314+ this.CloseMenuItem.Click += new System.EventHandler(this.CloseMenuItem_Click);
4315+ //
4316+ // HiddenForm
4317+ //
4318+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
4319+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
4320+ this.ClientSize = new System.Drawing.Size(292, 273);
4321+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
4322+ this.Icon = ((System.Drawing.Icon) (resources.GetObject("$this.Icon")));
4323+ this.Name = "HiddenForm";
4324+ this.Opacity = 0;
4325+ this.ShowInTaskbar = false;
4326+ this.Text = "DocList Uploader";
4327+ this.WindowState = System.Windows.Forms.FormWindowState.Minimized;
4328+ this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.HiddenForm_FormClosing);
4329+ this.Load += new System.EventHandler(this.HiddenForm_Load);
4330+ this.DocListMenu.ResumeLayout(false);
4331+ this.ResumeLayout(false);
4332+
4333+ }
4334+
4335+ #endregion
4336+
4337+ private System.Windows.Forms.NotifyIcon DocListNotifyIcon;
4338+ private System.Windows.Forms.ContextMenuStrip DocListMenu;
4339+ private System.Windows.Forms.ToolStripMenuItem CloseMenuItem;
4340+ private System.Windows.Forms.ToolStripMenuItem optionsToolStripMenuItem;
4341+ }
4342+}
4343+
4344
4345=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListUploader/HiddenForm.cs'
4346--- BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListUploader/HiddenForm.cs 1970-01-01 00:00:00 +0000
4347+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListUploader/HiddenForm.cs 2009-03-15 16:30:10 +0000
4348@@ -0,0 +1,336 @@
4349+/* Copyright (c) 2007 Google Inc.
4350+ *
4351+ * Licensed under the Apache License, Version 2.0 (the "License");
4352+ * you may not use this file except in compliance with the License.
4353+ * You may obtain a copy of the License at
4354+ *
4355+ * http://www.apache.org/licenses/LICENSE-2.0
4356+ *
4357+ * Unless required by applicable law or agreed to in writing, software
4358+ * distributed under the License is distributed on an "AS IS" BASIS,
4359+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4360+ * See the License for the specific language governing permissions and
4361+ * limitations under the License.
4362+*/
4363+
4364+using System;
4365+using System.Collections.Generic;
4366+using System.ComponentModel;
4367+using System.Data;
4368+using System.Drawing;
4369+using System.Diagnostics;
4370+using System.IO;
4371+using System.Text;
4372+using System.Windows.Forms;
4373+using System.Threading;
4374+using System.Runtime.Remoting;
4375+using System.Runtime.Remoting.Channels;
4376+using System.Runtime.Remoting.Channels.Ipc;
4377+using Microsoft.Win32;
4378+using Google.GData.Documents;
4379+using Google.GData.Client;
4380+
4381+namespace DocListUploader
4382+{
4383+ /// <summary>
4384+ /// The main form of the uploader, controls most of the service interaction.
4385+ /// It is not actually displayed to the user.
4386+ /// </summary>
4387+ public partial class HiddenForm : Form
4388+ {
4389+ //A child form for the user to interact with.
4390+ private OptionsForm optionsForm;
4391+ //Keeps track of our logged in state.
4392+ public bool loggedIn = false;
4393+ //A connection with the DocList API.
4394+ private DocumentsService service;
4395+ //The name of the shell context menu option.
4396+ private const string KEY_NAME = "Send to Google Docs";
4397+ //Keeps track of if we've minimized the OptionsForm before.
4398+ private bool firstMinimize = true;
4399+ //The timer in milliseconds to display balloon tips.
4400+ private const int BALLOON_TIMER = 10000;
4401+ //The most recently uploaded document.
4402+ private DocumentEntry lastUploadEntry = null;
4403+ //Keeps track of if the last balloon tip was an upload complete message.
4404+ private bool lastToolTipWasUpload = false;
4405+
4406+ /// <summary>
4407+ /// Constructor for the form.
4408+ /// </summary>
4409+ public HiddenForm()
4410+ {
4411+ InitializeComponent();
4412+ optionsForm = new OptionsForm(this);
4413+ ListenForSuccessor();
4414+ }
4415+
4416+ /// <summary>
4417+ /// The main entry point for the application.
4418+ /// </summary>
4419+ [STAThread]
4420+ static void Main(string[] args)
4421+ {
4422+ bool firstInstance;
4423+ Mutex mutex = new Mutex(true, "Local\\DocListUploader", out firstInstance);
4424+ if (!firstInstance)
4425+ {
4426+ //If we have an argument, we were most likely called by
4427+ //the shell context menu
4428+ if (args.Length == 1)
4429+ {
4430+ NotifyPredecessor(args[0]);
4431+ }
4432+ return;
4433+ }
4434+ Application.EnableVisualStyles();
4435+ Application.SetCompatibleTextRenderingDefault(false);
4436+ Application.Run(new HiddenForm());
4437+ }
4438+
4439+ /// <summary>
4440+ /// This is run by the first instance of the program in order
4441+ /// to accept information from later instances using the
4442+ /// .NET Framework's IPC mechanism.
4443+ /// </summary>
4444+ public void ListenForSuccessor()
4445+ {
4446+ IpcServerChannel serverChannel = new IpcServerChannel("DocListUploader");
4447+ ChannelServices.RegisterChannel(serverChannel, false);
4448+
4449+ RemoteMessage remoteMessage = new RemoteMessage(this);
4450+ RemotingServices.Marshal(remoteMessage,"FirstInstance");
4451+
4452+ }
4453+
4454+ /// <summary>
4455+ /// This is used by later instances of the program when
4456+ /// executed from the shell's context menu to pass along
4457+ /// the path of a file that will be uploaded. This message
4458+ /// is passed using the .NET Framework's IPC mechanism.
4459+ /// </summary>
4460+ /// <param name="file">The file to be uploaded</param>
4461+ public static void NotifyPredecessor(string file)
4462+ {
4463+ IpcClientChannel clientChannel = new IpcClientChannel();
4464+ ChannelServices.RegisterChannel(clientChannel, false);
4465+
4466+ RemoteMessage message = (RemoteMessage) Activator.GetObject(typeof(RemoteMessage), "ipc://DocListUploader/FirstInstance");
4467+
4468+ if (!message.Equals(null))
4469+ {
4470+ message.SendMessage(file);
4471+ }
4472+ }
4473+
4474+ /// <summary>
4475+ /// Authenticates to Google servers
4476+ /// </summary>
4477+ /// <param name="username">The user's username (e-mail)</param>
4478+ /// <param name="password">The user's password</param>
4479+ /// <exception cref="AuthenticationException">Thrown on invalid credentials.</exception>
4480+ public void Login(string username, string password)
4481+ {
4482+ if(loggedIn) {
4483+ throw new ApplicationException("Already logged in.");
4484+ }
4485+ try
4486+ {
4487+ service = new DocumentsService("DocListUploader");
4488+ ((GDataRequestFactory) service.RequestFactory).KeepAlive = false;
4489+ service.setUserCredentials(username, password);
4490+ //force the service to authenticate
4491+ DocumentsListQuery query = new DocumentsListQuery();
4492+ query.NumberToRetrieve = 1;
4493+ service.Query(query);
4494+ loggedIn = true;
4495+ }
4496+ catch(AuthenticationException e)
4497+ {
4498+ loggedIn = false;
4499+ service = null;
4500+ throw e;
4501+ }
4502+ }
4503+
4504+ /// <summary>
4505+ /// Logs the user out of Google Docs.
4506+ /// </summary>
4507+ public void Logout()
4508+ {
4509+ loggedIn = false;
4510+ service = null;
4511+ }
4512+
4513+ /// <summary>
4514+ /// Retrieves a list of documents from the server.
4515+ /// </summary>
4516+ /// <returns>The list of documents as a DocumentsFeed.</returns>
4517+ public DocumentsFeed GetDocs()
4518+ {
4519+ DocumentsListQuery query = new DocumentsListQuery();
4520+ DocumentsFeed feed = service.Query(query);
4521+ return feed;
4522+ }
4523+
4524+ /// <summary>
4525+ /// Some error handling around the file upload method. Used for handling files from the context menu.
4526+ /// </summary>
4527+ /// <param name="file">The file to upload.</param>
4528+ public void HandleUpload(string file)
4529+ {
4530+ if (!loggedIn)
4531+ {
4532+ MessageBox.Show("Please log in before uploading documents", "Upload Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
4533+ return;
4534+ }
4535+ try
4536+ {
4537+ DocListNotifyIcon.ShowBalloonTip(BALLOON_TIMER, "Uploading", "Uploading " + file, ToolTipIcon.Info);
4538+ lastToolTipWasUpload = false;
4539+ UploadFile(file);
4540+ DocListNotifyIcon.ShowBalloonTip(BALLOON_TIMER, "Upload Success", "Successfully uploaded " + file, ToolTipIcon.Info);
4541+ lastToolTipWasUpload = true;
4542+ optionsForm.UpdateDocList();
4543+ }
4544+ catch (ArgumentException)
4545+ {
4546+ DocListNotifyIcon.ShowBalloonTip(BALLOON_TIMER, "Upload Error", "Error: unable to upload the file: '" + file + "'. It is not one of the valid types.", ToolTipIcon.Error);
4547+ lastToolTipWasUpload = false;
4548+ }
4549+ catch (Exception ex)
4550+ {
4551+ DocListNotifyIcon.ShowBalloonTip(BALLOON_TIMER, "Upload Error", "Error: unable to upload the file: '" + file + "'. " + ex.Message, ToolTipIcon.Error);
4552+ lastToolTipWasUpload = false;
4553+ }
4554+ }
4555+
4556+ /// <summary>
4557+ /// Uploads the file to Google Docs
4558+ /// </summary>
4559+ /// <param name="fileName">The file with path to upload</param>
4560+ /// <exception cref="ApplicationException">Thrown when user isn't logged in.</exception>
4561+ public void UploadFile(string fileName)
4562+ {
4563+ if (!loggedIn)
4564+ {
4565+ throw new ApplicationException("Need to be logged in to upload documents.");
4566+ }
4567+ else
4568+ {
4569+ lastUploadEntry = service.UploadDocument(fileName, null);
4570+ }
4571+ }
4572+
4573+ /// <summary>
4574+ /// Called when the OptionsForm is minimized/hidden.
4575+ /// </summary>
4576+ public void HandleMinimize()
4577+ {
4578+ if (firstMinimize)
4579+ {
4580+ DocListNotifyIcon.ShowBalloonTip(BALLOON_TIMER, "DocList Uploader", "Uploader now running in the system tray.", ToolTipIcon.Info);
4581+ lastToolTipWasUpload = false;
4582+ firstMinimize = false;
4583+ }
4584+
4585+ }
4586+
4587+ /// <summary>
4588+ /// Adds the application to the shell's context menu by
4589+ /// creating a registry key.
4590+ /// </summary>
4591+ public void Register()
4592+ {
4593+ RegistryKey key = Registry.CurrentUser.OpenSubKey("Software\\Classes\\*\\shell\\" + KEY_NAME + "\\command");
4594+
4595+ if (key == null)
4596+ {
4597+ key = Registry.CurrentUser.CreateSubKey("Software\\Classes\\*\\shell\\" + KEY_NAME + "\\command");
4598+ }
4599+
4600+ key.SetValue("", Application.ExecutablePath + " \"%1\"");
4601+ }
4602+
4603+ /// <summary>
4604+ /// Removes the application from the shell's context menu
4605+ /// by deleting a registry key.
4606+ /// </summary>
4607+ public void UnRegister()
4608+ {
4609+ RegistryKey key = Registry.CurrentUser.OpenSubKey("Software\\Classes\\*\\shell\\" + KEY_NAME);
4610+
4611+ if (key != null)
4612+ {
4613+ Registry.CurrentUser.DeleteSubKeyTree("Software\\Classes\\*\\shell\\" + KEY_NAME);
4614+ }
4615+ }
4616+
4617+ /// <summary>
4618+ /// Displays the OptionsForm.
4619+ /// </summary>
4620+ private void ShowOptionsWindow()
4621+ {
4622+ optionsForm.Show();
4623+ if (optionsForm.WindowState == FormWindowState.Minimized)
4624+ {
4625+ optionsForm.WindowState = FormWindowState.Normal;
4626+ }
4627+ }
4628+
4629+ private void DocListNotifyIcon_DoubleClick(object sender, EventArgs e)
4630+ {
4631+ optionsForm.Show();
4632+ }
4633+
4634+ private void CloseMenuItem_Click(object sender, EventArgs e)
4635+ {
4636+ Close();
4637+ }
4638+
4639+ private void HiddenForm_Load(object sender, EventArgs e)
4640+ {
4641+ Hide();
4642+ ShowOptionsWindow();
4643+ }
4644+
4645+ private void optionsToolStripMenuItem_Click(object sender, EventArgs e)
4646+ {
4647+ ShowOptionsWindow();
4648+ }
4649+
4650+ private void HiddenForm_FormClosing(object sender, FormClosingEventArgs e)
4651+ {
4652+ UnRegister();
4653+ }
4654+
4655+ private void DocListNotifyIcon_MouseClick(object sender, MouseEventArgs e)
4656+ {
4657+ //A single left click should be the same as a double-click.
4658+ if (e.Button == MouseButtons.Left)
4659+ {
4660+ ShowOptionsWindow();
4661+ }
4662+ }
4663+
4664+
4665+ private void DocListNotifyIcon_BalloonTipClicked(object sender, EventArgs e)
4666+ {
4667+ if (lastUploadEntry != null && lastToolTipWasUpload)
4668+ {
4669+ //display the last uploaded document in the browser.
4670+ try
4671+ {
4672+ Process.Start(lastUploadEntry.AlternateUri.ToString());
4673+ }
4674+ catch (Win32Exception)
4675+ {
4676+ //nothing is registered to handle URLs, so let's use IE!
4677+ Process.Start("IExplore.exe", lastUploadEntry.AlternateUri.ToString());
4678+ }
4679+ }
4680+ }
4681+
4682+
4683+ }
4684+}
4685\ No newline at end of file
4686
4687=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListUploader/HiddenForm.resx'
4688--- BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListUploader/HiddenForm.resx 1970-01-01 00:00:00 +0000
4689+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListUploader/HiddenForm.resx 2009-03-15 16:30:10 +0000
4690@@ -0,0 +1,183 @@
4691+<?xml version="1.0" encoding="utf-8"?>
4692+<root>
4693+ <!--
4694+ Microsoft ResX Schema
4695+
4696+ Version 2.0
4697+
4698+ The primary goals of this format is to allow a simple XML format
4699+ that is mostly human readable. The generation and parsing of the
4700+ various data types are done through the TypeConverter classes
4701+ associated with the data types.
4702+
4703+ Example:
4704+
4705+ ... ado.net/XML headers & schema ...
4706+ <resheader name="resmimetype">text/microsoft-resx</resheader>
4707+ <resheader name="version">2.0</resheader>
4708+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
4709+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
4710+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
4711+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
4712+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
4713+ <value>[base64 mime encoded serialized .NET Framework object]</value>
4714+ </data>
4715+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
4716+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
4717+ <comment>This is a comment</comment>
4718+ </data>
4719+
4720+ There are any number of "resheader" rows that contain simple
4721+ name/value pairs.
4722+
4723+ Each data row contains a name, and value. The row also contains a
4724+ type or mimetype. Type corresponds to a .NET class that support
4725+ text/value conversion through the TypeConverter architecture.
4726+ Classes that don't support this are serialized and stored with the
4727+ mimetype set.
4728+
4729+ The mimetype is used for serialized objects, and tells the
4730+ ResXResourceReader how to depersist the object. This is currently not
4731+ extensible. For a given mimetype the value must be set accordingly:
4732+
4733+ Note - application/x-microsoft.net.object.binary.base64 is the format
4734+ that the ResXResourceWriter will generate, however the reader can
4735+ read any of the formats listed below.
4736+
4737+ mimetype: application/x-microsoft.net.object.binary.base64
4738+ value : The object must be serialized with
4739+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
4740+ : and then encoded with base64 encoding.
4741+
4742+ mimetype: application/x-microsoft.net.object.soap.base64
4743+ value : The object must be serialized with
4744+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
4745+ : and then encoded with base64 encoding.
4746+
4747+ mimetype: application/x-microsoft.net.object.bytearray.base64
4748+ value : The object must be serialized into a byte array
4749+ : using a System.ComponentModel.TypeConverter
4750+ : and then encoded with base64 encoding.
4751+ -->
4752+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
4753+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
4754+ <xsd:element name="root" msdata:IsDataSet="true">
4755+ <xsd:complexType>
4756+ <xsd:choice maxOccurs="unbounded">
4757+ <xsd:element name="metadata">
4758+ <xsd:complexType>
4759+ <xsd:sequence>
4760+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
4761+ </xsd:sequence>
4762+ <xsd:attribute name="name" use="required" type="xsd:string" />
4763+ <xsd:attribute name="type" type="xsd:string" />
4764+ <xsd:attribute name="mimetype" type="xsd:string" />
4765+ <xsd:attribute ref="xml:space" />
4766+ </xsd:complexType>
4767+ </xsd:element>
4768+ <xsd:element name="assembly">
4769+ <xsd:complexType>
4770+ <xsd:attribute name="alias" type="xsd:string" />
4771+ <xsd:attribute name="name" type="xsd:string" />
4772+ </xsd:complexType>
4773+ </xsd:element>
4774+ <xsd:element name="data">
4775+ <xsd:complexType>
4776+ <xsd:sequence>
4777+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
4778+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
4779+ </xsd:sequence>
4780+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
4781+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
4782+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
4783+ <xsd:attribute ref="xml:space" />
4784+ </xsd:complexType>
4785+ </xsd:element>
4786+ <xsd:element name="resheader">
4787+ <xsd:complexType>
4788+ <xsd:sequence>
4789+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
4790+ </xsd:sequence>
4791+ <xsd:attribute name="name" type="xsd:string" use="required" />
4792+ </xsd:complexType>
4793+ </xsd:element>
4794+ </xsd:choice>
4795+ </xsd:complexType>
4796+ </xsd:element>
4797+ </xsd:schema>
4798+ <resheader name="resmimetype">
4799+ <value>text/microsoft-resx</value>
4800+ </resheader>
4801+ <resheader name="version">
4802+ <value>2.0</value>
4803+ </resheader>
4804+ <resheader name="reader">
4805+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
4806+ </resheader>
4807+ <resheader name="writer">
4808+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
4809+ </resheader>
4810+ <metadata name="DocListNotifyIcon.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
4811+ <value>17, 17</value>
4812+ </metadata>
4813+ <metadata name="DocListMenu.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
4814+ <value>156, 17</value>
4815+ </metadata>
4816+ <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
4817+ <data name="DocListNotifyIcon.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
4818+ <value>
4819+ AAABAAEAEBAAAAEACABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAQAEAAAAAAAAAAAAAAAAAAAAA
4820+ AAAAAAAAgACAAIAAAAClZAAAAIAAAACAgAAAAIAA2czCAM/JwgDczL0AwZlXAP8A/wD/AAAA//8AAAD/
4821+ AAAA//8AAAD/AP///wD19fQAuaiaAP/07gCx4v8AjtT/AGvG/wBIuP8AJar/AACq/wAAktwAAHq5AABi
4822+ lgAASnMAADJQANTj/wCxx/8Ajqv/AGuP/wBIc/8AJVf/AABV/wAASdwAAD25AAAxlgAAJXMAABlQANTU
4823+ /wCxsf8Ajo7/AGtr/wBISP8AJSX/AAAA/wAAANwAAAC5AAAAlgAAAHMAAABQAOPU/wDHsf8Aq47/AI9r
4824+ /wBzSP8AVyX/AFUA/wBJANwAPQC5ADEAlgAlAHMAGQBQAP/17gDisf8A1I7/AMZr/wC4SP8AqiX/AKoA
4825+ /wCSANwAegC5AGIAlgBKAHMAMgBQAP/9/AD/sf8A/47/AP9r/wD/SP8A/yX/AP8A/wDcANwAuQC5AJYA
4826+ lgBzAHMAUABQAP/69wD/8ugA/47UAP9rxgD/SLgA/yWqAP8AqgDcAJIAuQB6AJl7YwBzAEoAUAAyAOvo
4827+ 5gD/sccA/46rAP9rjwD/SHMA/yVXAP8AVQDcAEkAuok/AJYAMQBzACUAUAAZAOrUwADDuK4AzqNaAM+l
4828+ WwC7i0AA/yUlAP8AAADcAAAAuQAAAJYAAABzAAAAUAAAAO7k2wDjzawA1rqNAMmocgC8j0QA/1clAP9V
4829+ AADcSQAApmUAAJYxAABzJQAAUBkAAP/28ADs38gA17uPAM+kWwDDmVcA0KVbAM6kWgC8i0AApWUAAKRk
4830+ AABzSgAAUDIAAP/7+QD/8ucA//+OAP//awD//0gA//8lAP//AADc3AAAu4pAAL2PRABzcwAAUFAAAP/4
4831+ 8gDi/7EA1ruOANClXADQpFoAqv8lAKr/AACS3AAAerkAAGKWAABKcwAAMlAAAOjh2gDH/7EAq/+OAI//
4832+ awBz/0gAV/8lAFX/AABJ3AAAPbkAADGWAAAlcwAAGVAAANT/1ACx/7EAjv+OAGv/awBI/0gAJf8lAAD/
4833+ AAAA3AAAALkAAACWAAAAcwAAAFAAAPbt3gCx/8cAjv+rAGv/jwBI/3MAJf9XAAD/VQAA3EkAALk9AACW
4834+ MQAAcyUAAFAZAP/17QCx/+IAjv/UAGv/xgBI/7gAJf+qAAD/qgAA3JIAALl6AACWYgAAc0oAAFAyANT/
4835+ /wCx//8Ajv//AGv//wBI//8AJf//AAD//wAA3NwAALm5AACWlgAAc3MAAFBQAPby8ADz7+0A2s3DANvO
4836+ xADZzcIA072sAMKuoQCsmIgA0KRbAMqpcQCYemIAiWlPAIlpUACKaU8AimpQAD4+PgAyMjIAJiYmABoa
4837+ GgAODg4AERERERERlZWUlJSUlZURERERERERAwOToKCgeJMDAxHu+ff6ZQOhoBEREZJwoJURBxREmV2U
4838+ CqeRkZGRp6CUEfCkpNTUlPWPEREREciglBHwXFxcjJSmd6j09PSRoJQR8FBQXFyUgXYREREREaCUEfAR
4839+ ERGYlY2Oj5Gnp5OglRHwEREREZWVjYGCg5CElZUR8BERERERlZWUlJSIlZUREfARERERERERERER+BER
4840+ ERHwEREREREREWgIdfcRERER8BERERERERKwCfb3EREREfARERERERHtgHTzERERERHwERERERER7PET
4841+ ERERERER7/Dw8PDw7gfyEREREREREfwDAAD4AQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAD
4842+ AAAADwAAAA8AAAAPAAAAHwAAAD8AAAB/AAA=
4843+</value>
4844+ </data>
4845+ <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
4846+ <value>
4847+ AAABAAEAEBAAAAEACABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAQAEAAAAAAAAAAAAAAAAAAAAA
4848+ AAAAAAAAgACAAIAAAAClZAAAAIAAAACAgAAAAIAA2czCAM/JwgDczL0AwZlXAP8A/wD/AAAA//8AAAD/
4849+ AAAA//8AAAD/AP///wD19fQAuaiaAP/07gCx4v8AjtT/AGvG/wBIuP8AJar/AACq/wAAktwAAHq5AABi
4850+ lgAASnMAADJQANTj/wCxx/8Ajqv/AGuP/wBIc/8AJVf/AABV/wAASdwAAD25AAAxlgAAJXMAABlQANTU
4851+ /wCxsf8Ajo7/AGtr/wBISP8AJSX/AAAA/wAAANwAAAC5AAAAlgAAAHMAAABQAOPU/wDHsf8Aq47/AI9r
4852+ /wBzSP8AVyX/AFUA/wBJANwAPQC5ADEAlgAlAHMAGQBQAP/17gDisf8A1I7/AMZr/wC4SP8AqiX/AKoA
4853+ /wCSANwAegC5AGIAlgBKAHMAMgBQAP/9/AD/sf8A/47/AP9r/wD/SP8A/yX/AP8A/wDcANwAuQC5AJYA
4854+ lgBzAHMAUABQAP/69wD/8ugA/47UAP9rxgD/SLgA/yWqAP8AqgDcAJIAuQB6AJl7YwBzAEoAUAAyAOvo
4855+ 5gD/sccA/46rAP9rjwD/SHMA/yVXAP8AVQDcAEkAuok/AJYAMQBzACUAUAAZAOrUwADDuK4AzqNaAM+l
4856+ WwC7i0AA/yUlAP8AAADcAAAAuQAAAJYAAABzAAAAUAAAAO7k2wDjzawA1rqNAMmocgC8j0QA/1clAP9V
4857+ AADcSQAApmUAAJYxAABzJQAAUBkAAP/28ADs38gA17uPAM+kWwDDmVcA0KVbAM6kWgC8i0AApWUAAKRk
4858+ AABzSgAAUDIAAP/7+QD/8ucA//+OAP//awD//0gA//8lAP//AADc3AAAu4pAAL2PRABzcwAAUFAAAP/4
4859+ 8gDi/7EA1ruOANClXADQpFoAqv8lAKr/AACS3AAAerkAAGKWAABKcwAAMlAAAOjh2gDH/7EAq/+OAI//
4860+ awBz/0gAV/8lAFX/AABJ3AAAPbkAADGWAAAlcwAAGVAAANT/1ACx/7EAjv+OAGv/awBI/0gAJf8lAAD/
4861+ AAAA3AAAALkAAACWAAAAcwAAAFAAAPbt3gCx/8cAjv+rAGv/jwBI/3MAJf9XAAD/VQAA3EkAALk9AACW
4862+ MQAAcyUAAFAZAP/17QCx/+IAjv/UAGv/xgBI/7gAJf+qAAD/qgAA3JIAALl6AACWYgAAc0oAAFAyANT/
4863+ /wCx//8Ajv//AGv//wBI//8AJf//AAD//wAA3NwAALm5AACWlgAAc3MAAFBQAPby8ADz7+0A2s3DANvO
4864+ xADZzcIA072sAMKuoQCsmIgA0KRbAMqpcQCYemIAiWlPAIlpUACKaU8AimpQAD4+PgAyMjIAJiYmABoa
4865+ GgAODg4AERERERERlZWUlJSUlZURERERERERAwOToKCgeJMDAxHu+ff6ZQOhoBEREZJwoJURBxREmV2U
4866+ CqeRkZGRp6CUEfCkpNTUlPWPEREREciglBHwXFxcjJSmd6j09PSRoJQR8FBQXFyUgXYREREREaCUEfAR
4867+ ERGYlY2Oj5Gnp5OglRHwEREREZWVjYGCg5CElZUR8BERERERlZWUlJSIlZUREfARERERERERERER+BER
4868+ ERHwEREREREREWgIdfcRERER8BERERERERKwCfb3EREREfARERERERHtgHTzERERERHwERERERER7PET
4869+ ERERERER7/Dw8PDw7gfyEREREREREfwDAAD4AQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAD
4870+ AAAADwAAAA8AAAAPAAAAHwAAAD8AAAB/AAA=
4871+</value>
4872+ </data>
4873+</root>
4874\ No newline at end of file
4875
4876=== added file 'BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListUploader/OptionsForm.Designer.cs'
4877--- BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListUploader/OptionsForm.Designer.cs 1970-01-01 00:00:00 +0000
4878+++ BundledLibraries/libgoogle-data-mono-1.4.0.2/samples/DocListUploader/OptionsForm.Designer.cs 2009-03-15 16:30:10 +0000
4879@@ -0,0 +1,297 @@
4880+namespace DocListUploader
4881+{
4882+ partial class OptionsForm
4883+ {
4884+ /// <summary>
4885+ /// Required designer variable.
4886+ /// </summary>
4887+ private System.ComponentModel.IContainer components = null;
4888+
4889+ /// <summary>
4890+ /// Clean up any resources being used.
4891+ /// </summary>
4892+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
4893+ protected override void Dispose(bool disposing)
4894+ {
4895+ if (disposing && (components != null))
4896+ {
4897+ components.Dispose();
4898+ }
4899+ base.Dispose(disposing);
4900+ }
4901+
4902+ #region Windows Form Designer generated code
4903+
4904+ /// <summary>
4905+ /// Required method for Designer support - do not modify
4906+ /// the contents of this method with the code editor.
4907+ /// </summary>
4908+ private void InitializeComponent()
4909+ {
4910+ this.components = new System.ComponentModel.Container();
4911+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(OptionsForm));
4912+ this.Username = new System.Windows.Forms.TextBox();
4913+ this.label1 = new System.Windows.Forms.Label();
4914+ this.label2 = new System.Windows.Forms.Label();
4915+ this.Password = new System.Windows.Forms.TextBox();
4916+ this.LoginButton = new System.Windows.Forms.Button();
4917+ this.label3 = new System.Windows.Forms.Label();
4918+ this.LogoutButton = new System.Windows.Forms.Button();
4919+ this.statusStrip = new System.Windows.Forms.StatusStrip();
4920+ this.UploaderStatus = new System.Windows.Forms.ToolStripStatusLabel();
4921+ this.contextCheckBox = new System.Windows.Forms.CheckBox();
4922+ this.panel1 = new System.Windows.Forms.Panel();
4923+ this.DocList = new System.Windows.Forms.ListView();
4924+ this.Title = new System.Windows.Forms.ColumnHeader();
4925+ this.LastModified = new System.Windows.Forms.ColumnHeader();
4926+ this.DocListItemMenu = new System.Windows.Forms.ContextMenuStrip(this.components);
4927+ this.OpenMenuItem = new System.Windows.Forms.ToolStripMenuItem();
4928+ this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
4929+ this.DeleteMenuItem = new System.Windows.Forms.ToolStripMenuItem();
4930+ this.DocIcons = new System.Windows.Forms.ImageList(this.components);
4931+ this.RefreshButton = new System.Windows.Forms.Button();
4932+ this.statusStrip.SuspendLayout();
4933+ this.panel1.SuspendLayout();
4934+ this.DocListItemMenu.SuspendLayout();
4935+ this.SuspendLayout();
4936+ //
4937+ // Username
4938+ //
4939+ this.Username.Location = new System.Drawing.Point(162, 29);
4940+ this.Username.Name = "Username";
4941+ this.Username.Size = new System.Drawing.Size(146, 20);
4942+ this.Username.TabIndex = 0;
4943+ this.Username.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.Username_KeyPress);
4944+ //
4945+ // label1
4946+ //
4947+ this.label1.AutoSize = true;
4948+ this.label1.Location = new System.Drawing.Point(55, 36);
4949+ this.label1.Name = "label1";
4950+ this.label1.Size = new System.Drawing.Size(76, 13);
4951+ this.label1.TabIndex = 1;
4952+ this.label1.Text = "E-mail Address";
4953+ //
4954+ // label2
4955+ //
4956+ this.label2.AutoSize = true;
4957+ this.label2.Location = new System.Drawing.Point(55, 64);
4958+ this.label2.Name = "label2";
4959+ this.label2.Size = new System.Drawing.Size(53, 13);
4960+ this.label2.TabIndex = 2;
4961+ this.label2.Text = "Password";
4962+ //
4963+ // Password
4964+ //
4965+ this.Password.Location = new System.Drawing.Point(162, 55);
4966+ this.Password.Name = "Password";
4967+ this.Password.Size = new System.Drawing.Size(108, 20);
4968+ this.Password.TabIndex = 3;
4969+ this.Password.UseSystemPasswordChar = true;
4970+ this.Password.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.Password_KeyPress);
4971+ //
4972+ // LoginButton
4973+ //
4974+ this.LoginButton.Location = new System.Drawing.Point(77, 96);
4975+ this.LoginButton.Name = "LoginButton";
4976+ this.LoginButton.Size = new System.Drawing.Size(77, 34);
4977+ this.LoginButton.TabIndex = 4;
4978+ this.LoginButton.Text = "Login";
4979+ this.LoginButton.UseVisualStyleBackColor = true;
4980+ this.LoginButton.Click += new System.EventHandler(this.LoginButton_Click);
4981+ //
4982+ // label3
4983+ //
4984+ this.label3.AutoSize = true;
4985+ this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte) (0)));
4986+ this.label3.Location = new System.Drawing.Point(55, 9);
4987+ this.label3.Name = "label3";
4988+ this.label3.Size = new System.Drawing.Size(213, 20);
4989+ this.label3.TabIndex = 5;
4990+ this.label3.Text = "Drag and drop files to upload";
4991+ //
4992+ // LogoutButton
4993+ //
4994+ this.LogoutButton.Enabled = false;
4995+ this.LogoutButton.Location = new System.Drawing.Point(209, 96);
4996+ this.LogoutButton.Name = "LogoutButton";
4997+ this.LogoutButton.Size = new System.Drawing.Size(77, 34);
4998+ this.LogoutButton.TabIndex = 6;
4999+ this.LogoutButton.Text = "Logout";
5000+ this.LogoutButton.UseVisualStyleBackColor = true;
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches