static PhotosSharePoint * photos_share_point_manager_create_share_point_online (PhotosSharePointManager *self, PhotosSource *source) { GIOExtension *extension; GType type; GoaAccount *account; GoaObject *object; PhotosSharePoint *ret_val = NULL; const gchar *provider_type; object = photos_source_get_goa_object (source); if (object == NULL) goto out; account = goa_object_peek_account (object); provider_type = goa_account_get_provider_type (account); extension = g_io_extension_point_get_extension_by_name (self->extension_point_online, provider_type); if (extension == NULL) goto out; type = g_io_extension_get_type (extension); ret_val = PHOTOS_SHARE_POINT (g_object_new (type, "source", source, NULL)); out: return ret_val; }
static GFBGraphPhoto * photos_facebook_get_gfbgraph_photo (PhotosBaseItem *item, GCancellable *cancellable, GError **error) { PhotosFacebookItemPrivate *priv = PHOTOS_FACEBOOK_ITEM (item)->priv; PhotosSource *source; const gchar *identifier, *resource_urn; GFBGraphGoaAuthorizer *authorizer; GFBGraphPhoto *photo; resource_urn = photos_base_item_get_resource_urn (item); source = PHOTOS_SOURCE (photos_base_manager_get_object_by_id (priv->src_mngr, resource_urn)); authorizer = gfbgraph_goa_authorizer_new (photos_source_get_goa_object (source)); identifier = photos_base_item_get_identifier (item) + strlen("facebook:"); gfbgraph_authorizer_refresh_authorization (GFBGRAPH_AUTHORIZER (authorizer), cancellable, error); photo = gfbgraph_photo_new_from_id (GFBGRAPH_AUTHORIZER (authorizer), identifier, error); return photo; }