[gthumb: 14/22] [picasaweb] added list_photos to picasa_web_service



commit 1a618eb31b5466344916d7148c629c8234decce0
Author: Paolo Bacchilega <paobac src gnome org>
Date:   Thu Jan 28 18:23:36 2010 +0100

    [picasaweb] added list_photos to picasa_web_service

 extensions/picasaweb/Makefile.am          |    3 +
 extensions/picasaweb/picasa-web-album.h   |    8 +-
 extensions/picasaweb/picasa-web-photo.c   |  320 +++++++++++++++++++++++++++++
 extensions/picasaweb/picasa-web-photo.h   |   82 ++++++++
 extensions/picasaweb/picasa-web-service.c |  118 +++++++++++
 extensions/picasaweb/picasa-web-service.h |    8 +
 extensions/picasaweb/picasa-web-types.h   |   33 +++
 7 files changed, 565 insertions(+), 7 deletions(-)
---
diff --git a/extensions/picasaweb/Makefile.am b/extensions/picasaweb/Makefile.am
index 0a0532d..e6f5c68 100644
--- a/extensions/picasaweb/Makefile.am
+++ b/extensions/picasaweb/Makefile.am
@@ -25,8 +25,11 @@ libpicasaweb_la_SOURCES = 			\
 	picasa-album-properties-dialog.h	\
 	picasa-web-album.c			\
 	picasa-web-album.h			\
+	picasa-web-photo.c			\
+	picasa-web-photo.h			\
 	picasa-web-service.c			\
 	picasa-web-service.h			\
+	picasa-web-types.h			\
 	picasa-web-user.c			\
 	picasa-web-user.h			\
 	preferences.h
diff --git a/extensions/picasaweb/picasa-web-album.h b/extensions/picasaweb/picasa-web-album.h
index 16e714e..993a852 100644
--- a/extensions/picasaweb/picasa-web-album.h
+++ b/extensions/picasaweb/picasa-web-album.h
@@ -25,6 +25,7 @@
 
 #include <glib.h>
 #include <glib-object.h>
+#include "picasa-web-types.h"
 
 G_BEGIN_DECLS
 
@@ -39,13 +40,6 @@ typedef struct _PicasaWebAlbum PicasaWebAlbum;
 typedef struct _PicasaWebAlbumClass PicasaWebAlbumClass;
 typedef struct _PicasaWebAlbumPrivate PicasaWebAlbumPrivate;
 
-typedef enum  {
-	PICASA_WEB_ACCESS_ALL,
-	PICASA_WEB_ACCESS_PRIVATE,
-	PICASA_WEB_ACCESS_PUBLIC,
-	PICASA_WEB_ACCESS_VISIBLE
-} PicasaWebAccess;
-
 struct _PicasaWebAlbum {
 	GObject parent_instance;
 	PicasaWebAlbumPrivate *priv;
diff --git a/extensions/picasaweb/picasa-web-photo.c b/extensions/picasaweb/picasa-web-photo.c
new file mode 100644
index 0000000..52d324f
--- /dev/null
+++ b/extensions/picasaweb/picasa-web-photo.c
@@ -0,0 +1,320 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+
+/*
+ *  GThumb
+ *
+ *  Copyright (C) 2010 Free Software Foundation, Inc.
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA.
+ */
+
+#include <config.h>
+#include <stdlib.h>
+#include <string.h>
+#include <gthumb.h>
+#include "picasa-web-photo.h"
+
+
+static gpointer picasa_web_photo_parent_class = NULL;
+
+
+static void
+picasa_web_photo_finalize (GObject *obj)
+{
+	PicasaWebPhoto *self;
+
+	self = PICASA_WEB_PHOTO (obj);
+
+	g_free (self->etag);
+	g_free (self->id);
+	g_free (self->album_id);
+	g_free (self->title);
+	g_free (self->summary);
+	g_free (self->uri);
+	g_free (self->keywords);
+
+	G_OBJECT_CLASS (picasa_web_photo_parent_class)->finalize (obj);
+}
+
+
+static void
+picasa_web_photo_class_init (PicasaWebPhotoClass *klass)
+{
+	picasa_web_photo_parent_class = g_type_class_peek_parent (klass);
+	G_OBJECT_CLASS (klass)->finalize = picasa_web_photo_finalize;
+}
+
+
+static DomElement*
+picasa_web_photo_create_element (DomDomizable *base,
+				DomDocument  *doc)
+{
+	PicasaWebPhoto *self;
+	DomElement     *element;
+	char           *value;
+
+	self = PICASA_WEB_PHOTO (base);
+
+	element = dom_document_create_element (doc, "entry",
+					       "xmlns", "http://www.w3.org/2005/Atom";,
+					       "xmlns:media", "http://search.yahoo.com/mrss/";,
+					       "xmlns:gphoto", "http://schemas.google.com/photos/2007";,
+					       NULL);
+	if (self->id != NULL)
+		dom_element_append_child (element, dom_document_create_element_with_text (doc, self->id, "gphoto:id", NULL));
+	if (self->album_id != NULL)
+		dom_element_append_child (element, dom_document_create_element_with_text (doc, self->id, "gphoto:albumid", NULL));
+	if (self->title != NULL)
+		dom_element_append_child (element, dom_document_create_element_with_text (doc, self->id, "title", NULL));
+	if (self->summary != NULL)
+		dom_element_append_child (element, dom_document_create_element_with_text (doc, self->id, "summary", NULL));
+	if (self->uri != NULL)
+		dom_element_append_child (element, dom_document_create_element (doc, "content", "src", self->uri, NULL));
+
+	switch (self->access) {
+	case PICASA_WEB_ACCESS_ALL:
+		value = "all";
+		break;
+	case PICASA_WEB_ACCESS_PRIVATE:
+		value = "private";
+		break;
+	case PICASA_WEB_ACCESS_PUBLIC:
+		value = "public";
+		break;
+	case PICASA_WEB_ACCESS_VISIBLE:
+		value = "visible";
+		break;
+	}
+	dom_element_append_child (element, dom_document_create_element_with_text (doc, value, "gphoto:access", NULL));
+
+	if (self->keywords != NULL) {
+		DomElement *group;
+
+		group = dom_document_create_element (doc, "media:group", NULL);
+		dom_element_append_child (group, dom_document_create_element_with_text (doc, self->keywords, "media:keywords", NULL));
+		dom_element_append_child (element, group);
+	}
+
+	dom_element_append_child (element,
+				  dom_document_create_element (doc, "category",
+							       "scheme", "http://schemas.google.com/g/2005#kind";,
+							       "term", "http://schemas.google.com/photos/2007#photo";,
+							       NULL));
+
+	return element;
+}
+
+
+static void
+picasa_web_photo_load_from_element (DomDomizable *base,
+				   DomElement   *element)
+{
+	PicasaWebPhoto *self;
+	DomElement     *node;
+
+	self = PICASA_WEB_PHOTO (base);
+
+	picasa_web_photo_set_id (self, NULL);
+	picasa_web_photo_set_album_id (self, NULL);
+	picasa_web_photo_set_title (self, NULL);
+	picasa_web_photo_set_summary (self, NULL);
+	picasa_web_photo_set_uri (self, NULL);
+	picasa_web_photo_set_access (self, NULL);
+	picasa_web_photo_set_keywords (self, NULL);
+
+	picasa_web_photo_set_etag (self, dom_element_get_attribute (element, "gd:etag"));
+	for (node = element->first_child; node; node = node->next_sibling) {
+		if (g_strcmp0 (node->tag_name, "gphoto:id") == 0) {
+			picasa_web_photo_set_id (self, dom_element_get_inner_text (node));
+		}
+		else if (g_strcmp0 (node->tag_name, "gphoto:albumid") == 0) {
+			picasa_web_photo_set_album_id (self, dom_element_get_inner_text (node));
+		}
+		else if (g_strcmp0 (node->tag_name, "title") == 0) {
+			picasa_web_photo_set_title (self, dom_element_get_inner_text (node));
+		}
+		else if (g_strcmp0 (node->tag_name, "summary") == 0) {
+			picasa_web_photo_set_summary (self, dom_element_get_inner_text (node));
+		}
+		else if (g_strcmp0 (node->tag_name, "content") == 0) {
+			picasa_web_photo_set_uri (self, dom_element_get_attribute (node, "src"));
+		}
+		else if (g_strcmp0 (node->tag_name, "gphoto:access") == 0) {
+			picasa_web_photo_set_access (self, dom_element_get_inner_text (node));
+		}
+		else if (g_strcmp0 (node->tag_name, "media:group") == 0) {
+			DomElement *child;
+
+			for (child = node->first_child; child; child = child->next_sibling) {
+				if (g_strcmp0 (child->tag_name, "media:keywords") == 0) {
+					picasa_web_photo_set_keywords (self, dom_element_get_inner_text (child));
+					break;
+				}
+			}
+		}
+	}
+}
+
+
+static void
+picasa_web_photo_dom_domizable_interface_init (DomDomizableIface *iface)
+{
+	iface->create_element = picasa_web_photo_create_element;
+	iface->load_from_element = picasa_web_photo_load_from_element;
+}
+
+
+static void
+picasa_web_photo_instance_init (PicasaWebPhoto *self)
+{
+}
+
+
+GType
+picasa_web_photo_get_type (void)
+{
+	static GType picasa_web_photo_type_id = 0;
+
+	if (picasa_web_photo_type_id == 0) {
+		static const GTypeInfo g_define_type_info = {
+			sizeof (PicasaWebPhotoClass),
+			(GBaseInitFunc) NULL,
+			(GBaseFinalizeFunc) NULL,
+			(GClassInitFunc) picasa_web_photo_class_init,
+			(GClassFinalizeFunc) NULL,
+			NULL,
+			sizeof (PicasaWebPhoto),
+			0,
+			(GInstanceInitFunc) picasa_web_photo_instance_init,
+			NULL
+		};
+		static const GInterfaceInfo dom_domizable_info = {
+			(GInterfaceInitFunc) picasa_web_photo_dom_domizable_interface_init,
+			(GInterfaceFinalizeFunc) NULL,
+			NULL
+		};
+
+		picasa_web_photo_type_id = g_type_register_static (G_TYPE_OBJECT,
+								  "PicasaWebPhoto",
+								  &g_define_type_info,
+								  0);
+		g_type_add_interface_static (picasa_web_photo_type_id, DOM_TYPE_DOMIZABLE, &dom_domizable_info);
+	}
+
+	return picasa_web_photo_type_id;
+}
+
+
+PicasaWebPhoto *
+picasa_web_photo_new (void)
+{
+	return g_object_new (PICASA_WEB_TYPE_PHOTO, NULL);
+}
+
+
+void
+picasa_web_photo_set_etag (PicasaWebPhoto *self,
+			   const char    *value)
+{
+	g_free (self->etag);
+	self->etag = NULL;
+	if (value != NULL)
+		self->etag = g_strdup (value);
+}
+
+
+void
+picasa_web_photo_set_id (PicasaWebPhoto *self,
+			const char    *value)
+{
+	g_free (self->id);
+	self->id = NULL;
+	if (value != NULL)
+		self->id = g_strdup (value);
+}
+
+
+void
+picasa_web_photo_set_album_id (PicasaWebPhoto *self,
+			       const char    *value)
+{
+	g_free (self->album_id);
+	self->album_id = NULL;
+	if (value != NULL)
+		self->album_id = g_strdup (value);
+}
+
+
+void
+picasa_web_photo_set_title (PicasaWebPhoto *self,
+			    const char     *value)
+{
+	g_free (self->title);
+	self->title = NULL;
+	if (value != NULL)
+		self->title = g_strdup (value);
+}
+
+
+void
+picasa_web_photo_set_summary (PicasaWebPhoto *self,
+			      const char     *value)
+{
+	g_free (self->summary);
+	self->summary = NULL;
+	if (value != NULL)
+		self->summary = g_strdup (value);
+}
+
+
+void
+picasa_web_photo_set_uri (PicasaWebPhoto *self,
+			  const char     *value)
+{
+	g_free (self->uri);
+	self->uri = NULL;
+	if (value != NULL)
+		self->uri = g_strdup (value);
+}
+
+
+void
+picasa_web_photo_set_access (PicasaWebPhoto *self,
+			     const char     *value)
+{
+	if (value == NULL)
+		self->access = PICASA_WEB_ACCESS_PRIVATE;
+	else if (strcmp (value, "all") == 0)
+		self->access = PICASA_WEB_ACCESS_ALL;
+	else if (strcmp (value, "private") == 0)
+		self->access = PICASA_WEB_ACCESS_PRIVATE;
+	else if (strcmp (value, "public") == 0)
+		self->access = PICASA_WEB_ACCESS_PUBLIC;
+	else if (strcmp (value, "visible") == 0)
+		self->access = PICASA_WEB_ACCESS_VISIBLE;
+	else
+		self->access = PICASA_WEB_ACCESS_PRIVATE;
+}
+
+
+void
+picasa_web_photo_set_keywords (PicasaWebPhoto *self,
+			       const char     *value)
+{
+	g_free (self->keywords);
+	self->keywords = NULL;
+	if (value != NULL)
+		self->keywords = g_strdup (value);
+}
diff --git a/extensions/picasaweb/picasa-web-photo.h b/extensions/picasaweb/picasa-web-photo.h
new file mode 100644
index 0000000..007c002
--- /dev/null
+++ b/extensions/picasaweb/picasa-web-photo.h
@@ -0,0 +1,82 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+
+/*
+ *  GThumb
+ *
+ *  Copyright (C) 2010 Free Software Foundation, Inc.
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA.
+ */
+
+#ifndef PICASA_WEB_PHOTO_H
+#define PICASA_WEB_PHOTO_H
+
+#include <glib.h>
+#include <glib-object.h>
+#include "picasa-web-types.h"
+
+G_BEGIN_DECLS
+
+#define PICASA_WEB_TYPE_PHOTO            (picasa_web_photo_get_type ())
+#define PICASA_WEB_PHOTO(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), PICASA_WEB_TYPE_PHOTO, PicasaWebPhoto))
+#define PICASA_WEB_PHOTO_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), PICASA_WEB_TYPE_PHOTO, PicasaWebPhotoClass))
+#define PICASA_WEB_IS_PHOTO(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PICASA_WEB_TYPE_PHOTO))
+#define PICASA_WEB_IS_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PICASA_WEB_TYPE_PHOTO))
+#define PICASA_WEB_PHOTO_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), PICASA_WEB_TYPE_PHOTO, PicasaWebPhotoClass))
+
+typedef struct _PicasaWebPhoto PicasaWebPhoto;
+typedef struct _PicasaWebPhotoClass PicasaWebPhotoClass;
+typedef struct _PicasaWebPhotoPrivate PicasaWebPhotoPrivate;
+
+struct _PicasaWebPhoto {
+	GObject parent_instance;
+	PicasaWebPhotoPrivate *priv;
+
+	char            *etag;
+	char            *id;
+	char            *album_id;
+	char            *title;
+	char            *summary;
+	char            *uri;
+	PicasaWebAccess  access;
+	char            *keywords;
+};
+
+struct _PicasaWebPhotoClass {
+	GObjectClass parent_class;
+};
+
+GType             picasa_web_photo_get_type          (void);
+PicasaWebPhoto *  picasa_web_photo_new               (void);
+void              picasa_web_photo_set_etag          (PicasaWebPhoto *self,
+						      const char     *value);
+void              picasa_web_photo_set_id            (PicasaWebPhoto *self,
+						      const char     *value);
+void              picasa_web_photo_set_album_id      (PicasaWebPhoto *self,
+						      const char     *value);
+void              picasa_web_photo_set_title         (PicasaWebPhoto *self,
+						      const char     *value);
+void              picasa_web_photo_set_summary       (PicasaWebPhoto *self,
+						      const char     *value);
+void              picasa_web_photo_set_uri           (PicasaWebPhoto *self,
+						      const char     *value);
+void              picasa_web_photo_set_access        (PicasaWebPhoto *self,
+						      const char     *value);
+void              picasa_web_photo_set_keywords      (PicasaWebPhoto *self,
+						      const char     *value);
+
+G_END_DECLS
+
+#endif /* PICASA_WEB_PHOTO_H */
diff --git a/extensions/picasaweb/picasa-web-service.c b/extensions/picasaweb/picasa-web-service.c
index 5e8ef91..bf2fefa 100644
--- a/extensions/picasaweb/picasa-web-service.c
+++ b/extensions/picasaweb/picasa-web-service.c
@@ -25,6 +25,7 @@
 #include <glib/gi18n.h>
 #include <gthumb.h>
 #include "picasa-web-album.h"
+#include "picasa-web-photo.h"
 #include "picasa-web-service.h"
 
 
@@ -618,6 +619,123 @@ picasa_web_service_post_photos_finish (PicasaWebService  *self,
 }
 
 
+/* -- picasa_web_service_list_photos -- */
+
+
+static void
+list_photos_ready_cb (SoupSession *session,
+		      SoupMessage *msg,
+		      gpointer     user_data)
+{
+	PicasaWebService   *self = user_data;
+	GSimpleAsyncResult *result;
+	SoupBuffer         *body;
+	DomDocument        *doc;
+	GError             *error = NULL;
+
+	result = google_connection_get_result (self->priv->conn);
+
+	if (msg->status_code != 200) {
+		g_simple_async_result_set_error (result,
+						 SOUP_HTTP_ERROR,
+						 msg->status_code,
+						 "%s",
+						 soup_status_get_phrase (msg->status_code));
+		g_simple_async_result_complete_in_idle (result);
+		return;
+	}
+
+	body = soup_message_body_flatten (msg->response_body);
+	doc = dom_document_new ();
+	if (dom_document_load (doc, body->data, body->length, &error)) {
+		DomElement *feed_node;
+		GList      *photos = NULL;
+
+		feed_node = DOM_ELEMENT (doc)->first_child;
+		while ((feed_node != NULL) && g_strcmp0 (feed_node->tag_name, "feed") != 0)
+			feed_node = feed_node->next_sibling;
+
+		if (feed_node != NULL) {
+			DomElement     *node;
+			PicasaWebPhoto *photo;
+
+			self->priv->user = picasa_web_user_new ();
+			dom_domizable_load_from_element (DOM_DOMIZABLE (self->priv->user), feed_node);
+
+			photo = NULL;
+			for (node = feed_node->first_child;
+			     node != NULL;
+			     node = node->next_sibling)
+			{
+				if (g_strcmp0 (node->tag_name, "entry") == 0) { /* read the photo data */
+					if (photo != NULL)
+						photos = g_list_prepend (photos, photo);
+					photo = picasa_web_photo_new ();
+					dom_domizable_load_from_element (DOM_DOMIZABLE (photo), node);
+				}
+			}
+			if (photo != NULL)
+				photos = g_list_prepend (photos, photo);
+		}
+		photos = g_list_reverse (photos);
+		g_simple_async_result_set_op_res_gpointer (result, photos, (GDestroyNotify) _g_object_list_unref);
+	}
+	else {
+		g_simple_async_result_set_from_error (result, error);
+		g_error_free (error);
+	}
+	g_simple_async_result_complete_in_idle (result);
+
+	g_object_unref (doc);
+	soup_buffer_free (body);
+}
+
+
+void
+picasa_web_service_list_photos (PicasaWebService    *self,
+				PicasaWebAlbum      *album,
+				GCancellable        *cancellable,
+				GAsyncReadyCallback  callback,
+				gpointer             user_data)
+{
+	char        *url;
+	SoupMessage *msg;
+
+	g_return_if_fail (album != NULL);
+
+	gth_task_progress (GTH_TASK (self->priv->conn), _("Getting the photo list"), NULL, TRUE, 0.0);
+
+	url = g_strconcat ("http://picasaweb.google.com/data/feed/api/user/";,
+			   self->priv->user->id,
+			   "/albumid/",
+			   album->id,
+			   NULL);
+	msg = soup_message_new ("GET", url);
+	google_connection_send_message (self->priv->conn,
+					msg,
+					cancellable,
+					callback,
+					user_data,
+					picasa_web_service_list_photos,
+					list_photos_ready_cb,
+					self);
+
+	g_free (url);
+}
+
+
+GList *
+picasa_web_service_list_photos_finish (PicasaWebService  *self,
+				       GAsyncResult      *result,
+				       GError           **error)
+{
+	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error))
+		return NULL;
+	else
+		return _g_object_list_ref (g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (result)));
+}
+
+
 /* utilities */
 
 
diff --git a/extensions/picasaweb/picasa-web-service.h b/extensions/picasaweb/picasa-web-service.h
index 231fb94..4e61053 100644
--- a/extensions/picasaweb/picasa-web-service.h
+++ b/extensions/picasaweb/picasa-web-service.h
@@ -78,6 +78,14 @@ void                 picasa_web_service_post_photos         (PicasaWebService
 gboolean             picasa_web_service_post_photos_finish  (PicasaWebService     *self,
 							     GAsyncResult         *result,
 							     GError              **error);
+void                 picasa_web_service_list_photos         (PicasaWebService     *self,
+							     PicasaWebAlbum       *album,
+						             GCancellable         *cancellable,
+						             GAsyncReadyCallback   callback,
+						             gpointer              user_data);
+GList *              picasa_web_service_list_photos_finish  (PicasaWebService     *self,
+							     GAsyncResult         *result,
+							     GError              **error);
 
 /* utilities */
 
diff --git a/extensions/picasaweb/picasa-web-types.h b/extensions/picasaweb/picasa-web-types.h
new file mode 100644
index 0000000..fe2f030
--- /dev/null
+++ b/extensions/picasaweb/picasa-web-types.h
@@ -0,0 +1,33 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+
+/*
+ *  GThumb
+ *
+ *  Copyright (C) 2010 Free Software Foundation, Inc.
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA.
+ */
+
+#ifndef PICASA_WEB_TYPES_H
+#define PICASA_WEB_TYPES_H
+
+typedef enum  {
+	PICASA_WEB_ACCESS_ALL,
+	PICASA_WEB_ACCESS_PRIVATE,
+	PICASA_WEB_ACCESS_PUBLIC,
+	PICASA_WEB_ACCESS_VISIBLE
+} PicasaWebAccess;
+
+#endif /* PICASA_WEB_TYPES_H */



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]