Author: fmantek
Date: Wed Oct 17 10:37:27 2007
New Revision: 304
Added:
trunk/clients/cs/samples/PhotoBrowser/
trunk/clients/cs/samples/PhotoBrowser/AlbumMeta.cs
trunk/clients/cs/samples/PhotoBrowser/AssemblyInfo.cs
trunk/clients/cs/samples/PhotoBrowser/Browser.cs
trunk/clients/cs/samples/PhotoBrowser/GoogleClientLogin.cs
trunk/clients/cs/src/VS2003/Photobrowser/
trunk/clients/cs/src/VS2003/Photobrowser/PhotoBrowser.csproj
Modified:
trunk/clients/cs/src/core/service.cs
Log:
added a base photobrowser. not finished yet
Added: trunk/clients/cs/samples/PhotoBrowser/AlbumMeta.cs
==============================================================================
--- (empty file)
+++ trunk/clients/cs/samples/PhotoBrowser/AlbumMeta.cs Wed Oct 17
10:37:27 2007
@@ -0,0 +1,116 @@
+using System;
+using System.ComponentModel;
+using Google.GData.Client;
+using Google.GData.Photos;
+
+namespace PhotoBrowser
+{
+ /// <summary>
+ /// This class presents the meta data of an album entry that we want
+ /// to expose in the property browser
+ /// </summary>
+ public class AlbumMeta
+ {
+ PicasaEntry myEntry;
+
+ public AlbumMeta(PicasaEntry entry)
+ {
+ this.myEntry = entry;
+ }
+
+ [Category("Base Album Data"),
+ Description("Specifies the name of the album.")]
+ public string AlbumTitle
+ {
+ get
+ {
+ return this.myEntry.Title.Text;
+ }
+ set
+ {
+ this.myEntry.Title.Text = value;
+ }
+ }
+
+ [Category("Base Album Data"),
+ Description("Specifies the summary of the album.")]
+ public string AlbumSummary
+ {
+ get
+ {
+ return this.myEntry.Summary.Text;
+ }
+ set
+ {
+ this.myEntry.Summary.Text = value;
+ }
+ }
+
+ [Category("Base Album Data"),
+ Description("Specifies the author of the album.")]
+ public string AlbumAuthor
+ {
+ get
+ {
+ AtomPersonCollection authors = this.myEntry.Authors;
+ if (authors != null && authors.Count >0)
+ {
+ AtomPerson person = authors[0];
+ return person.Name;
+ }
+ return "No Author given";
+
+ }
+ set
+ {
+ AtomPersonCollection authors = this.myEntry.Authors;
+ if (authors != null && authors.Count >0)
+ {
+ AtomPerson person = authors[0];
+ person.Name = value;
+ }
+ }
+ }
+
+ [Category("Base Album Data"),
+ Description("Specifies the author's URI.")]
+ public string AlbumAuthorUri
+ {
+ get
+ {
+ AtomPersonCollection authors = this.myEntry.Authors;
+ if (authors != null && authors.Count >0)
+ {
+ AtomPerson person = authors[0];
+ return person.Uri.ToString();
+ }
+ return "No Author given";
+
+ }
+ set
+ {
+ AtomPersonCollection authors = this.myEntry.Authors;
+ if (authors != null && authors.Count >0)
+ {
+ AtomPerson person = authors[0];
+ person.Uri = new AtomUri(value);
+ }
+ }
+ }
+
+ [Category("Base Album Data"),
+ Description("Specifies the author's nickname")]
+ public string AlbumAuthorNickname
+ {
+ get
+ {
+ return
this.myEntry.getPhotoExtensionValue(GPhotoNameTable.Nickname);
+ }
+ set
+ {
+
this.myEntry.setPhotoExtension(GPhotoNameTable.Nickname, value);
+ }
+ }
+
+ }
+}
Added: trunk/clients/cs/samples/PhotoBrowser/AssemblyInfo.cs
==============================================================================
--- (empty file)
+++ trunk/clients/cs/samples/PhotoBrowser/AssemblyInfo.cs Wed Oct 17
10:37:27 2007
@@ -0,0 +1,58 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+
+//
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+//
+[assembly: AssemblyTitle("")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("")]
+[assembly: AssemblyCopyright("")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+//
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Revision and
Build Numbers
+// by using the '*' as shown below:
+
+[assembly: AssemblyVersion("1.0.*")]
+
+//
+// In order to sign your assembly you must specify a key to use. Refer
to the
+// Microsoft .NET Framework documentation for more information on
assembly signing.
+//
+// Use the attributes below to control which key is used for signing.
+//
+// Notes:
+// (*) If no key is specified, the assembly is not signed.
+// (*) KeyName refers to a key that has been installed in the Crypto Service
+// Provider (CSP) on your machine. KeyFile refers to a file
which contains
+// a key.
+// (*) If the KeyFile and the KeyName values are both specified, the
+// following processing occurs:
+// (1) If the KeyName can be found in the CSP, that key is used.
+// (2) If the KeyName does not exist and the KeyFile does exist,
the key
+// in the KeyFile is installed into the CSP and used.
+// (*) In order to create a KeyFile, you can use the sn.exe (Strong
Name) utility.
+// When specifying the KeyFile, the location of the KeyFile
should be
+// relative to the project output directory which is
+// %Project Directory%\obj\<configuration>. For example, if your
KeyFile is
+// located in the project directory, you would specify the
AssemblyKeyFile
+// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
+// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
+// documentation for more information on this.
+//
+[assembly: AssemblyDelaySign(false)]
+[assembly: AssemblyKeyFile("")]
+[assembly: AssemblyKeyName("")]
Added: trunk/clients/cs/samples/PhotoBrowser/Browser.cs
==============================================================================
--- (empty file)
+++ trunk/clients/cs/samples/PhotoBrowser/Browser.cs Wed Oct 17
10:37:27 2007
@@ -0,0 +1,229 @@
+using System;
+using System.Drawing;
+using System.Collections;
+using System.ComponentModel;
+using System.Windows.Forms;
+using System.Data;
+using Google.GData.Photos;
+using Google.GData.Extensions.MediaRss;
+using System.IO;
+
+namespace PhotoBrowser
+{
+ /// <summary>
+ /// Summary description for Form1.
+ /// </summary>
+ public class PhotoBrowser : System.Windows.Forms.Form
+ {
+ private System.ComponentModel.IContainer components;
+ private System.Windows.Forms.ListView AlbumList;
+ private System.Windows.Forms.PictureBox AlbumPicture;
+ private String googleAuthToken = null;
+ private String user = null;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.ImageList imageList1;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.PropertyGrid AlbumInspector;
+ private System.Windows.Forms.Button button1;
+ private PicasaService picasaService = new
PicasaService("PhotoBrowser");
+
+
+ public PhotoBrowser()
+ {
+ //
+ // Required for Windows Form Designer support
+ //
+ InitializeComponent();
+
+ //
+ // TODO: Add any constructor code after
InitializeComponent call
+ //
+ }
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ protected override void Dispose( bool disposing )
+ {
+ if( disposing )
+ {
+ if (components != null)
+ {
+ components.Dispose();
+ }
+ }
+ base.Dispose( disposing );
+ }
+
+ #region Windows Form Designer generated code
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ this.components = new System.ComponentModel.Container();
+ this.AlbumList = new System.Windows.Forms.ListView();
+ this.AlbumPicture = new System.Windows.Forms.PictureBox();
+ this.label1 = new System.Windows.Forms.Label();
+ this.imageList1 = new
System.Windows.Forms.ImageList(this.components);
+ this.label2 = new System.Windows.Forms.Label();
+ this.AlbumInspector = new System.Windows.Forms.PropertyGrid();
+ this.button1 = new System.Windows.Forms.Button();
+ this.SuspendLayout();
+ //
+ // AlbumList
+ //
+ this.AlbumList.FullRowSelect = true;
+ this.AlbumList.GridLines = true;
+ this.AlbumList.HeaderStyle =
System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
+ this.AlbumList.LabelEdit = true;
+ this.AlbumList.Location = new System.Drawing.Point(8, 56);
+ this.AlbumList.Name = "AlbumList";
+ this.AlbumList.Size = new System.Drawing.Size(296, 152);
+ this.AlbumList.Sorting = System.Windows.Forms.SortOrder.Ascending;
+ this.AlbumList.TabIndex = 0;
+ this.AlbumList.View = System.Windows.Forms.View.List;
+ this.AlbumList.SelectedIndexChanged += new
System.EventHandler(this.AlbumList_SelectedIndexChanged);
+ //
+ // AlbumPicture
+ //
+ this.AlbumPicture.BorderStyle =
System.Windows.Forms.BorderStyle.Fixed3D;
+ this.AlbumPicture.Location = new System.Drawing.Point(320, 56);
+ this.AlbumPicture.Name = "AlbumPicture";
+ this.AlbumPicture.Size = new System.Drawing.Size(176, 152);
+ this.AlbumPicture.TabIndex = 1;
+ this.AlbumPicture.TabStop = false;
+ //
+ // label1
+ //
+ this.label1.Location = new System.Drawing.Point(16, 16);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(288, 24);
+ this.label1.TabIndex = 2;
+ this.label1.Text = "List of Albums:";
+ //
+ // imageList1
+ //
+ this.imageList1.ImageSize = new System.Drawing.Size(16, 16);
+ this.imageList1.TransparentColor =
System.Drawing.Color.Transparent;
+ //
+ // label2
+ //
+ this.label2.Location = new System.Drawing.Point(328, 16);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(56, 16);
+ this.label2.TabIndex = 3;
+ this.label2.Text = "Cover:";
+ //
+ // AlbumInspector
+ //
+ this.AlbumInspector.CommandsVisibleIfAvailable = true;
+ this.AlbumInspector.LargeButtons = false;
+ this.AlbumInspector.LineColor =
System.Drawing.SystemColors.ScrollBar;
+ this.AlbumInspector.Location = new System.Drawing.Point(8, 224);
+ this.AlbumInspector.Name = "AlbumInspector";
+ this.AlbumInspector.Size = new System.Drawing.Size(488, 232);
+ this.AlbumInspector.TabIndex = 4;
+ this.AlbumInspector.Text = "AlbumInspector";
+ this.AlbumInspector.ViewBackColor =
System.Drawing.SystemColors.Window;
+ this.AlbumInspector.ViewForeColor =
System.Drawing.SystemColors.WindowText;
+ //
+ // button1
+ //
+ this.button1.Location = new System.Drawing.Point(16, 480);
+ this.button1.Name = "button1";
+ this.button1.Size = new System.Drawing.Size(120, 40);
+ this.button1.TabIndex = 5;
+ this.button1.Text = "&Save Album Data";
+ this.button1.Click += new System.EventHandler(this.button1_Click);
+ //
+ // PhotoBrowser
+ //
+ this.AutoScaleBaseSize = new System.Drawing.Size(6, 15);
+ this.ClientSize = new System.Drawing.Size(512, 552);
+ this.Controls.Add(this.button1);
+ this.Controls.Add(this.AlbumInspector);
+ this.Controls.Add(this.label2);
+ this.Controls.Add(this.label1);
+ this.Controls.Add(this.AlbumPicture);
+ this.Controls.Add(this.AlbumList);
+ this.Name = "PhotoBrowser";
+ this.Text = "Google Picasa Browser";
+ this.Load += new System.EventHandler(this.OnLoad);
+ this.ResumeLayout(false);
+
+ }
+ #endregion
+
+ /// <summary>
+ /// The main entry point for the application.
+ /// </summary>
+ [STAThread]
+ static void Main()
+ {
+ Application.Run(new PhotoBrowser());
+ }
+
+ private void OnLoad(object sender, System.EventArgs e)
+ {
+ if (this.googleAuthToken == null)
+ {
+ GoogleClientLogin loginDialog = new GoogleClientLogin();
+ loginDialog.ShowDialog(this);
+ this.googleAuthToken = loginDialog.AuthenticationToken;
+ this.user = loginDialog.User;
+
+
picasaService.SetAuthenticationToken(loginDialog.AuthenticationToken);
+ UpdateAlbumFeed();
+ }
+
+ }
+
+
+ private void UpdateAlbumFeed()
+ {
+ AlbumQuery query = new AlbumQuery();
+
+ this.AlbumList.Clear();
+
+
+ query.Uri = new Uri(PicasaQuery.CreatePicasaUri(this.user));
+
+ PicasaFeed feed = this.picasaService.Query(query);
+
+ if (feed != null && feed.Entries.Count > 0)
+ {
+ foreach (PicasaEntry entry in feed.Entries)
+ {
+ ListViewItem item = new
ListViewItem(entry.Title.Text +
+ " (" +
entry.getPhotoExtensionValue(GPhotoNameTable.NumPhotos) + " )");
+ item.Tag = entry;
+ this.AlbumList.Items.Add(item);
+ }
+ }
+ this.AlbumList.Update();
+ }
+
+ private void AlbumList_SelectedIndexChanged(object sender,
System.EventArgs e)
+ {
+ foreach (ListViewItem item in this.AlbumList.SelectedItems)
+ {
+ PicasaEntry entry = item.Tag as PicasaEntry;
+ MediaThumbnail thumb = entry.Media.Thumbnails[0];
+ Stream stream = this.picasaService.Query(new
Uri(thumb.Attributes["url"] as string));
+ this.AlbumPicture.Image = new Bitmap(stream);
+ this.AlbumInspector.SelectedObject = new AlbumMeta(entry);
+ }
+ }
+
+ private void button1_Click(object sender, System.EventArgs e)
+ {
+ foreach (ListViewItem item in this.AlbumList.SelectedItems)
+ {
+ PicasaEntry entry = item.Tag as PicasaEntry;
+ entry.Update();
+ }
+ }
+ }
+}
Added: trunk/clients/cs/samples/PhotoBrowser/GoogleClientLogin.cs
==============================================================================
--- (empty file)
+++ trunk/clients/cs/samples/PhotoBrowser/GoogleClientLogin.cs Wed Oct
17 10:37:27 2007
@@ -0,0 +1,205 @@
+using System;
+using System.Drawing;
+using System.Collections;
+using System.ComponentModel;
+using System.Windows.Forms;
+using Google.GData.Photos;
+
+namespace PhotoBrowser
+{
+ /// <summary>
+ /// Summary description for GoogleClientLoging.
+ /// </summary>
+ public class GoogleClientLogin : System.Windows.Forms.Form
+ {
+ private string authToken;
+
+ private System.Windows.Forms.TextBox Password;
+ private System.Windows.Forms.CheckBox RememberToken;
+ private System.Windows.Forms.Button Login;
+ private System.Windows.Forms.Button Cancel;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.TextBox Username;
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.Container components = null;
+
+ public GoogleClientLogin()
+ {
+ //
+ // Required for Windows Form Designer support
+ //
+ InitializeComponent();
+
+ //
+ // TODO: Add any constructor code after
InitializeComponent call
+ //
+ this.Username.Text = "[EMAIL PROTECTED]";
+ this.Password.Text = "xapitest";
+ }
+
+ public GoogleClientLogin(string username)
+ {
+ //
+ // Required for Windows Form Designer support
+ //
+ InitializeComponent();
+
+ //
+ // TODO: Add any constructor code after
InitializeComponent call
+ //
+ this.Username.Text = username;
+ }
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ protected override void Dispose( bool disposing )
+ {
+ if( disposing )
+ {
+ if(components != null)
+ {
+ components.Dispose();
+ }
+ }
+ base.Dispose( disposing );
+ }
+
+ #region Windows Form Designer generated code
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ this.Login = new System.Windows.Forms.Button();
+ this.Cancel = new System.Windows.Forms.Button();
+ this.Username = new System.Windows.Forms.TextBox();
+ this.Password = new System.Windows.Forms.TextBox();
+ this.RememberToken = new System.Windows.Forms.CheckBox();
+ this.label1 = new System.Windows.Forms.Label();
+ this.label2 = new System.Windows.Forms.Label();
+ this.SuspendLayout();
+ //
+ // Login
+ //
+ this.Login.Location = new System.Drawing.Point(240, 104);
+ this.Login.Name = "Login";
+ this.Login.Size = new System.Drawing.Size(80, 32);
+ this.Login.TabIndex = 0;
+ this.Login.Text = "&Login";
+ this.Login.Click += new System.EventHandler(this.Login_Click);
+ //
+ // Cancel
+ //
+ this.Cancel.Location = new System.Drawing.Point(144, 104);
+ this.Cancel.Name = "Cancel";
+ this.Cancel.Size = new System.Drawing.Size(80, 32);
+ this.Cancel.TabIndex = 1;
+ this.Cancel.Text = "&Cancel";
+ this.Cancel.Click += new System.EventHandler(this.Cancel_Click);
+ //
+ // Username
+ //
+ this.Username.Location = new System.Drawing.Point(112, 16);
+ this.Username.Name = "Username";
+ this.Username.Size = new System.Drawing.Size(208, 22);
+ this.Username.TabIndex = 2;
+ this.Username.Text = "[EMAIL PROTECTED]";
+ //
+ // Password
+ //
+ this.Password.Location = new System.Drawing.Point(112, 48);
+ this.Password.Name = "Password";
+ this.Password.PasswordChar = '*';
+ this.Password.Size = new System.Drawing.Size(208, 22);
+ this.Password.TabIndex = 3;
+ this.Password.Text = "";
+ //
+ // RememberToken
+ //
+ this.RememberToken.Location = new System.Drawing.Point(16, 80);
+ this.RememberToken.Name = "RememberToken";
+ this.RememberToken.Size = new System.Drawing.Size(160, 24);
+ this.RememberToken.TabIndex = 4;
+ this.RememberToken.Text = "Remember the Token";
+ //
+ // label1
+ //
+ this.label1.Location = new System.Drawing.Point(16, 16);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(88, 32);
+ this.label1.TabIndex = 5;
+ this.label1.Text = "Username:";
+ //
+ // label2
+ //
+ this.label2.Location = new System.Drawing.Point(16, 48);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(88, 32);
+ this.label2.TabIndex = 6;
+ this.label2.Text = "Password: ";
+ //
+ // GoogleClientLogin
+ //
+ this.AutoScaleBaseSize = new System.Drawing.Size(6, 15);
+ this.ClientSize = new System.Drawing.Size(344, 152);
+ this.Controls.Add(this.label2);
+ this.Controls.Add(this.label1);
+ this.Controls.Add(this.RememberToken);
+ this.Controls.Add(this.Password);
+ this.Controls.Add(this.Username);
+ this.Controls.Add(this.Cancel);
+ this.Controls.Add(this.Login);
+ this.Name = "GoogleClientLogin";
+ this.Text = "GoogleClientLoging";
+ this.ResumeLayout(false);
+
+ }
+ #endregion
+
+
+ public string AuthenticationToken
+ {
+ get
+ {
+ return this.authToken;
+ }
+ }
+
+ public bool RememberAuthentication
+ {
+ get
+ {
+ return this.RememberToken.Checked;
+ }
+ }
+
+ public string User
+ {
+ get
+ {
+ return this.Username.Text;
+ }
+ }
+
+ private void Cancel_Click(object sender, System.EventArgs e)
+ {
+ this.authToken = null;
+ this.Close();
+ }
+
+ private void Login_Click(object sender, System.EventArgs e)
+ {
+ PicasaService service = new PicasaService("PhotoBrowser");
+ service.setUserCredentials(this.Username.Text, this.Password.Text);
+ this.authToken = service.QueryAuthenticationToken();
+ this.Close();
+ }
+
+
+ }
+}
Added: trunk/clients/cs/src/VS2003/Photobrowser/PhotoBrowser.csproj
==============================================================================
--- (empty file)
+++ trunk/clients/cs/src/VS2003/Photobrowser/PhotoBrowser.csproj Wed
Oct 17 10:37:27 2007
@@ -0,0 +1,138 @@
+<VisualStudioProject>
+ <CSHARP
+ ProjectType = "Local"
+ ProductVersion = "7.10.6030"
+ SchemaVersion = "2.0"
+ ProjectGuid = "{40CB899F-54ED-4863-BF78-58BA793A1478}"
+ >
+ <Build>
+ <Settings
+ ApplicationIcon = ""
+ AssemblyKeyContainerName = ""
+ AssemblyName = "PhotoBrowser"
+ AssemblyOriginatorKeyFile = ""
+ DefaultClientScript = "JScript"
+ DefaultHTMLPageLayout = "Grid"
+ DefaultTargetSchema = "IE50"
+ DelaySign = "false"
+ OutputType = "WinExe"
+ PreBuildEvent = ""
+ PostBuildEvent = ""
+ RootNamespace = "PhotoBrowser"
+ RunPostBuildEvent = "OnBuildSuccess"
+ StartupObject = ""
+ >
+ <Config
+ Name = "Debug"
+ AllowUnsafeBlocks = "false"
+ BaseAddress = "285212672"
+ CheckForOverflowUnderflow = "false"
+ ConfigurationOverrideFile = ""
+ DefineConstants = "DEBUG;TRACE"
+ DocumentationFile = ""
+ DebugSymbols = "true"
+ FileAlignment = "4096"
+ IncrementalBuild = "false"
+ NoStdLib = "false"
+ NoWarn = ""
+ Optimize = "false"
+ OutputPath = "bin\Debug\"
+ RegisterForComInterop = "false"
+ RemoveIntegerChecks = "false"
+ TreatWarningsAsErrors = "false"
+ WarningLevel = "4"
+ />
+ <Config
+ Name = "Release"
+ AllowUnsafeBlocks = "false"
+ BaseAddress = "285212672"
+ CheckForOverflowUnderflow = "false"
+ ConfigurationOverrideFile = ""
+ DefineConstants = "TRACE"
+ DocumentationFile = ""
+ DebugSymbols = "false"
+ FileAlignment = "4096"
+ IncrementalBuild = "false"
+ NoStdLib = "false"
+ NoWarn = ""
+ Optimize = "true"
+ OutputPath = "bin\Release\"
+ RegisterForComInterop = "false"
+ RemoveIntegerChecks = "false"
+ TreatWarningsAsErrors = "false"
+ WarningLevel = "4"
+ />
+ </Settings>
+ <References>
+ <Reference
+ Name = "System"
+ AssemblyName = "System"
+ HintPath =
"C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.dll"
+ />
+ <Reference
+ Name = "System.Data"
+ AssemblyName = "System.Data"
+ HintPath =
"C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Data.dll"
+ />
+ <Reference
+ Name = "System.Drawing"
+ AssemblyName = "System.Drawing"
+ HintPath =
"C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Drawing.dll"
+ />
+ <Reference
+ Name = "System.Windows.Forms"
+ AssemblyName = "System.Windows.Forms"
+ HintPath =
"C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Windows.Forms.dll"
+ />
+ <Reference
+ Name = "System.XML"
+ AssemblyName = "System.Xml"
+ HintPath =
"C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.XML.dll"
+ />
+ <Reference
+ Name = "Google.GData.Photos"
+ AssemblyName = "Google.GData.Photos"
+ HintPath =
"..\..\..\src\VS2003\gphotos\bin\Debug\Google.GData.Photos.dll"
+ />
+ <Reference
+ Name = "Google.GData.Client"
+ AssemblyName = "Google.GData.Client"
+ HintPath =
"..\..\..\src\VS2003\gphotos\bin\Debug\Google.GData.Client.dll"
+ />
+ <Reference
+ Name = "Google.GData.Extensions"
+ AssemblyName = "Google.GData.Extensions"
+ HintPath =
"..\..\..\src\VS2003\gphotos\bin\Debug\Google.GData.Extensions.dll"
+ />
+ </References>
+ </Build>
+ <Files>
+ <Include>
+ <File
+ RelPath = "AlbumMeta.cs"
+ Link = "..\..\..\samples\PhotoBrowser\AlbumMeta.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "AssemblyInfo.cs"
+ Link = "..\..\..\samples\PhotoBrowser\AssemblyInfo.cs"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "Browser.cs"
+ Link = "..\..\..\samples\PhotoBrowser\Browser.cs"
+ SubType = "Form"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "GoogleClientLogin.cs"
+ Link = "..\..\..\samples\PhotoBrowser\GoogleClientLogin.cs"
+ SubType = "Form"
+ BuildAction = "Compile"
+ />
+ </Include>
+ </Files>
+ </CSHARP>
+</VisualStudioProject>
+
Modified: trunk/clients/cs/src/core/service.cs
==============================================================================
--- trunk/clients/cs/src/core/service.cs (original)
+++ trunk/clients/cs/src/core/service.cs Wed Oct 17 10:37:27 2007
@@ -196,7 +196,20 @@
}
}
return null;
+ }
+ /// <summary>
+ /// if the service is using a Google Request Factory it will
set the passed
+ /// in token to the factory
+ /// </summary>
+ /// <returns>string</returns>
+ public void SetAuthenticationToken(string token)
+ {
+ GDataGAuthRequestFactory factory =
this.GDataRequestFactory as GDataGAuthRequestFactory;
+ if (factory != null)
+ {
+ factory.GAuthToken = token;
+ }
}
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Google Data API" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/google-help-dataapi?hl=en
-~----------~----~----~----~------~----~------~--~---