[gnome-photos/wip/rishi/share-point: 5/19] Add PhotosSharePoint



commit a6fdf5148820325075021ea0bfa89b91deced5e4
Author: Umang Jain <mailumangjain gmail com>
Date:   Wed Jun 29 13:30:53 2016 +0200

    Add PhotosSharePoint
    
    https://bugzilla.gnome.org/show_bug.cgi?id=751181

 src/Makefile.am          |    2 +
 src/photos-share-point.c |   97 ++++++++++++++++++++++++++++++++++++++++++++++
 src/photos-share-point.h |   74 +++++++++++++++++++++++++++++++++++
 3 files changed, 173 insertions(+), 0 deletions(-)
---
diff --git a/src/Makefile.am b/src/Makefile.am
index 8f5487b..201a308 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -202,6 +202,8 @@ gnome_photos_SOURCES = \
        photos-set-collection-job.h \
        photos-settings.c \
        photos-settings.h \
+       photos-share-point.c \
+       photos-share-point.h \
        photos-single-item-job.c \
        photos-single-item-job.h \
        photos-source.c \
diff --git a/src/photos-share-point.c b/src/photos-share-point.c
new file mode 100644
index 0000000..cb07e3d
--- /dev/null
+++ b/src/photos-share-point.c
@@ -0,0 +1,97 @@
+/*
+ * Photos - access, organize and share your photos on GNOME
+ * Copyright © 2016 Red Hat, Inc.
+ * Copyright © 2016 Umang Jain
+ *
+ * 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., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
+ */
+
+/* Based on code from:
+ *   + Documents
+ */
+
+
+#include "config.h"
+
+#include "photos-filterable.h"
+#include "photos-share-point.h"
+
+
+G_DEFINE_ABSTRACT_TYPE_WITH_CODE (PhotosSharePoint, photos_share_point, G_TYPE_OBJECT,
+                                  G_IMPLEMENT_INTERFACE (PHOTOS_TYPE_FILTERABLE, NULL));
+
+
+static void
+photos_share_point_init (PhotosSharePoint *self)
+{
+}
+
+
+static void
+photos_share_point_class_init (PhotosSharePointClass *class)
+{
+}
+
+
+GIcon *
+photos_share_point_get_icon (PhotosSharePoint *self)
+{
+  g_return_val_if_fail (PHOTOS_IS_SHARE_POINT (self), NULL);
+  return PHOTOS_SHARE_POINT_GET_CLASS (self)->get_icon (self);
+}
+
+
+const gchar *
+photos_share_point_get_name (PhotosSharePoint *self)
+{
+  g_return_val_if_fail (PHOTOS_IS_SHARE_POINT (self), NULL);
+  return PHOTOS_SHARE_POINT_GET_CLASS (self)->get_name (self);
+}
+
+
+gchar *
+photos_share_point_parse_error (PhotosSharePoint *self, GError *error)
+{
+  g_return_val_if_fail (PHOTOS_IS_SHARE_POINT (self), NULL);
+  g_return_val_if_fail (error != NULL, NULL);
+
+  PHOTOS_SHARE_POINT_GET_CLASS (self)->parse_error (self, error);
+}
+
+
+void
+photos_share_point_share_async (PhotosSharePoint *self,
+                                PhotosBaseItem *item,
+                                GCancellable *cancellable,
+                                GAsyncReadyCallback callback,
+                                gpointer user_data)
+{
+  g_return_if_fail (PHOTOS_IS_SHARE_POINT (self));
+  g_return_if_fail (PHOTOS_IS_BASE_ITEM (item));
+
+  PHOTOS_SHARE_POINT_GET_CLASS (self)->share_async (self, item, cancellable, callback, user_data);
+}
+
+
+gboolean
+photos_share_point_share_finish (PhotosSharePoint *self, GAsyncResult *res, GError **error)
+{
+  g_return_val_if_fail (PHOTOS_IS_SHARE_POINT (self), FALSE);
+  g_return_val_if_fail (G_IS_ASYNC_RESULT (res), FALSE);
+  g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
+
+  return PHOTOS_SHARE_POINT_GET_CLASS (self)->share_finish (self, res, error);
+}
diff --git a/src/photos-share-point.h b/src/photos-share-point.h
new file mode 100644
index 0000000..c5abf54
--- /dev/null
+++ b/src/photos-share-point.h
@@ -0,0 +1,74 @@
+/*
+ * Photos - access, organize and share your photos on GNOME
+ * Copyright © 2016 Red Hat, Inc.
+ * Copyright © 2016 Umang Jain
+ *
+ * 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., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
+ */
+
+/* Based on code from:
+ *   + Documents
+ */
+
+#ifndef PHOTOS_SHARE_POINT_H
+#define PHOTOS_SHARE_POINT_H
+
+#include <gio/gio.h>
+
+#include "photos-base-item.h"
+
+G_BEGIN_DECLS
+
+#define PHOTOS_TYPE_SHARE_POINT (photos_share_point_get_type ())
+G_DECLARE_DERIVABLE_TYPE (PhotosSharePoint, photos_share_point, PHOTOS, SHARE_POINT, GObject)
+
+typedef struct _PhotosSharePointPrivate PhotosSharePointPrivate;
+
+struct _PhotosSharePointClass
+{
+  GObjectClass parent_class;
+
+  /* virtual methods */
+  GIcon          *(*get_icon)       (PhotosSharePoint *self);
+  const gchar    *(*get_name)       (PhotosSharePoint *self);
+  gchar          *(*parse_error)    (PhotosSharePoint *self, GError *error);
+  void            (*share_async)    (PhotosSharePoint *self,
+                                     PhotosBaseItem *item,
+                                     GCancellable *cancellable,
+                                     GAsyncReadyCallback callback,
+                                     gpointer user_data);
+  gboolean        (*share_finish)   (PhotosSharePoint *self, GAsyncResult *res, GError **error);
+};
+
+GIcon                  *photos_share_point_get_icon               (PhotosSharePoint *self);
+
+const gchar            *photos_share_point_get_name               (PhotosSharePoint *self);
+
+gchar                  *photos_share_point_parse_error            (PhotosSharePoint *self, GError *error);
+
+void                    photos_share_point_share_async            (PhotosSharePoint *self,
+                                                                   PhotosBaseItem *item,
+                                                                   GCancellable *cancellable,
+                                                                   GAsyncReadyCallback callback,
+                                                                   gpointer user_data);
+
+gboolean                photos_share_point_share_finish           (PhotosSharePoint *self,
+                                                                   GAsyncResult *res,
+                                                                   GError **error);
+
+G_END_DECLS
+
+#endif /* PHOTOS_SHARE_POINT_H */


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