Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
piwigo.c File Reference
#include "bauhaus/bauhaus.h"
#include "common/darktable.h"
#include "common/file_location.h"
#include "common/image.h"
#include "common/image_cache.h"
#include "common/imageio.h"
#include "common/imageio_module.h"
#include "common/metadata.h"
#include "common/pwstorage/pwstorage.h"
#include "common/tags.h"
#include "common/curl_tools.h"
#include "control/conf.h"
#include "control/control.h"
#include "dtgtk/button.h"
#include "gui/gtk.h"
#include "imageio/storage/imageio_storage_api.h"
#include <curl/curl.h>
#include <json-glib/json-glib.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <inttypes.h>
+ Include dependency graph for piwigo.c:

Data Structures

struct  _piwigo_api_context_t
 
struct  _piwigo_album_t
 
struct  _piwigo_account_t
 
struct  dt_storage_piwigo_gui_data_t
 
struct  _curl_args_t
 
struct  dt_storage_piwigo_params_t
 

Macros

#define piwigo_EXTRA_VERBOSE   FALSE
 
#define MAX_ALBUM_NAME_SIZE   100
 

Typedefs

typedef struct _piwigo_api_context_t _piwigo_api_context_t
 
typedef struct _piwigo_album_t _piwigo_album_t
 
typedef struct _piwigo_account_t _piwigo_account_t
 
typedef struct dt_storage_piwigo_gui_data_t dt_storage_piwigo_gui_data_t
 
typedef struct _curl_args_t _curl_args_t
 
typedef struct dt_storage_piwigo_params_t dt_storage_piwigo_params_t
 

Functions

static void _piwigo_api_post (_piwigo_api_context_t *ctx, GList *args, char *filename, gboolean isauth)
 
static size_t curl_write_data_cb (void *ptr, size_t size, size_t nmemb, void *data)
 
static GList * _piwigo_query_add_arguments (GList *args, const char *name, const char *value)
 
static _piwigo_api_context_t_piwigo_ctx_init (void)
 
static void _piwigo_ctx_destroy (_piwigo_api_context_t **ctx)
 
static void _piwigo_free_account (void *data)
 
static void _piwigo_load_account (dt_storage_piwigo_gui_data_t *ui)
 
static _piwigo_account_t_piwigo_get_account (dt_storage_piwigo_gui_data_t *ui, const gchar *server)
 
static void _piwigo_set_account (dt_storage_piwigo_gui_data_t *ui)
 
static void _piwigo_set_status (dt_storage_piwigo_gui_data_t *ui, gchar *message, gchar *color)
 
static int _piwigo_api_post_internal (_piwigo_api_context_t *ctx, GList *args, char *filename, gboolean isauth)
 
static void _piwigo_api_authenticate (_piwigo_api_context_t *ctx)
 
static void _piwigo_authenticate (dt_storage_piwigo_gui_data_t *ui)
 
static void _piwigo_entry_changed (GtkEntry *entry, gpointer data)
 
static void _piwigo_server_entry_changed (GtkEntry *entry, gpointer data)
 
static void _piwigo_account_changed (GtkComboBox *cb, gpointer data)
 
static void _piwigo_album_changed (GtkComboBox *cb, gpointer data)
 
static void _piwigo_refresh_albums (dt_storage_piwigo_gui_data_t *ui, const gchar *select_album)
 
static gboolean _piwigo_api_create_new_album (dt_storage_piwigo_params_t *p)
 
static gboolean _piwigo_api_upload_photo (dt_storage_piwigo_params_t *p, gchar *fname, gchar *author, gchar *caption, gchar *description)
 
static void _piwigo_login_clicked (GtkButton *button, gpointer data)
 
static void _piwigo_refresh_clicked (GtkButton *button, gpointer data)
 
const char * name (const struct dt_imageio_module_storage_t *self)
 
void gui_init (dt_imageio_module_storage_t *self)
 
void gui_cleanup (dt_imageio_module_storage_t *self)
 
void gui_reset (dt_imageio_module_storage_t *self)
 
static gboolean _finalize_store (gpointer user_data)
 
void finalize_store (struct dt_imageio_module_storage_t *self, dt_imageio_module_data_t *data)
 
int store (dt_imageio_module_storage_t *self, dt_imageio_module_data_t *sdata, const int32_t imgid, dt_imageio_module_format_t *format, dt_imageio_module_data_t *fdata, const int num, const int total, const gboolean high_quality, const gboolean export_masks, dt_colorspaces_color_profile_type_t icc_type, const gchar *icc_filename, dt_iop_color_intent_t icc_intent, dt_export_metadata_t *metadata)
 
size_t params_size (dt_imageio_module_storage_t *self)
 
void init (dt_imageio_module_storage_t *self)
 
static uint64_t _piwigo_album_id (const gchar *name, GList *albums)
 
voidget_params (dt_imageio_module_storage_t *self)
 
int set_params (dt_imageio_module_storage_t *self, const void *params, const int size)
 
int supported (dt_imageio_module_storage_t *storage, dt_imageio_module_format_t *format)
 
void free_params (dt_imageio_module_storage_t *self, dt_imageio_module_data_t *params)
 

Macro Definition Documentation

◆ MAX_ALBUM_NAME_SIZE

#define MAX_ALBUM_NAME_SIZE   100

◆ piwigo_EXTRA_VERBOSE

#define piwigo_EXTRA_VERBOSE   FALSE

Typedef Documentation

◆ _curl_args_t

typedef struct _curl_args_t _curl_args_t

◆ _piwigo_account_t

◆ _piwigo_album_t

◆ _piwigo_api_context_t

◆ dt_storage_piwigo_gui_data_t

◆ dt_storage_piwigo_params_t

Function Documentation

◆ _finalize_store()

static gboolean _finalize_store ( gpointer  user_data)
static

◆ _piwigo_account_changed()

◆ _piwigo_album_changed()

static void _piwigo_album_changed ( GtkComboBox *  cb,
gpointer  data 
)
static

◆ _piwigo_album_id()

static uint64_t _piwigo_album_id ( const gchar *  name,
GList *  albums 
)
static

References _piwigo_album_t::id, _piwigo_album_t::label, and name.

Referenced by get_params().

◆ _piwigo_api_authenticate()

◆ _piwigo_api_create_new_album()

static gboolean _piwigo_api_create_new_album ( dt_storage_piwigo_params_t p)
static

◆ _piwigo_api_post()

◆ _piwigo_api_post_internal()

◆ _piwigo_api_upload_photo()

static gboolean _piwigo_api_upload_photo ( dt_storage_piwigo_params_t p,
gchar *  fname,
gchar *  author,
gchar *  caption,
gchar *  description 
)
static

◆ _piwigo_authenticate()

◆ _piwigo_ctx_destroy()

◆ _piwigo_ctx_init()

◆ _piwigo_entry_changed()

static void _piwigo_entry_changed ( GtkEntry *  entry,
gpointer  data 
)
static

◆ _piwigo_free_account()

static void _piwigo_free_account ( void data)
static

◆ _piwigo_get_account()

static _piwigo_account_t * _piwigo_get_account ( dt_storage_piwigo_gui_data_t ui,
const gchar *  server 
)
static

◆ _piwigo_load_account()

◆ _piwigo_login_clicked()

static void _piwigo_login_clicked ( GtkButton *  button,
gpointer  data 
)
static

◆ _piwigo_query_add_arguments()

static GList * _piwigo_query_add_arguments ( GList *  args,
const char *  name,
const char *  value 
)
static

◆ _piwigo_refresh_albums()

◆ _piwigo_refresh_clicked()

static void _piwigo_refresh_clicked ( GtkButton *  button,
gpointer  data 
)
static

◆ _piwigo_server_entry_changed()

static void _piwigo_server_entry_changed ( GtkEntry *  entry,
gpointer  data 
)
static

◆ _piwigo_set_account()

◆ _piwigo_set_status()

static void _piwigo_set_status ( dt_storage_piwigo_gui_data_t ui,
gchar *  message,
gchar *  color 
)
static

◆ curl_write_data_cb()

static size_t curl_write_data_cb ( void ptr,
size_t  size,
size_t  nmemb,
void data 
)
static

References size.

Referenced by _piwigo_api_post_internal().

◆ finalize_store()

◆ free_params()

void free_params ( dt_imageio_module_storage_t self,
dt_imageio_module_data_t params 
)

References _piwigo_ctx_destroy().

◆ get_params()

◆ gui_cleanup()

◆ gui_init()

◆ gui_reset()

void gui_reset ( dt_imageio_module_storage_t self)

◆ init()

◆ name()

const char * name ( const struct dt_imageio_module_storage_t self)

◆ params_size()

size_t params_size ( dt_imageio_module_storage_t self)

◆ set_params()

int set_params ( dt_imageio_module_storage_t self,
const void params,
const int  size 
)
Todo:
: store name/hash in kwallet/etc module and get encrypted stuff from there!

References size.

◆ store()

◆ supported()

int supported ( dt_imageio_module_storage_t storage,
dt_imageio_module_format_t format 
)