dav/sync.h

Sun, 06 Aug 2017 18:18:00 +0200

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Sun, 06 Aug 2017 18:18:00 +0200
changeset 285
02d3e4b1245f
parent 256
54433cb371df
child 296
bb49953b1cf8
child 303
5d79c108fcab
permissions
-rw-r--r--

adds some small fixes for 1.0 release

/*
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 *
 * Copyright 2016 Olaf Wintermann. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 *   1. Redistributions of source code must retain the above copyright
 *      notice, this list of conditions and the following disclaimer.
 *
 *   2. Redistributions in binary form must reproduce the above copyright
 *      notice, this list of conditions and the following disclaimer in the
 *      documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 */

#ifndef SYNC_H
#define	SYNC_H

#include <curl/curl.h>
#include <libidav/webdav.h>
#include <ucx/list.h>

#include "sopt.h"

#include "version.h"

#ifdef	__cplusplus
extern "C" {
#endif

#define STDIN_BUF_SIZE 2048
    
void print_usage(char *cmd);

int cmd_pull(CmdArgs *args);
int cmd_push(CmdArgs *args);

int sync_get_resource(
        CmdArgs *a,
        SyncDirectory *dir,
        DavResource *res,
        SyncDatabase *db,
        int *counter);
int sync_remove_local_resource(SyncDirectory *dir, LocalResource *res);
void sync_remove_local_directory(SyncDirectory *dir, LocalResource *res);
void rename_conflict_file(SyncDirectory *dir, SyncDatabase *db, char *path);
char* create_tmp_download_path(char *path);
void move_to_trash(SyncDirectory *dir, char *path);
UcxList* local_scan(SyncDirectory *dir, SyncDatabase *db);
UcxList* read_changes(SyncDirectory *dir, SyncDatabase *db);
LocalResource* local_resource_new(SyncDirectory *dir, SyncDatabase *db, char *path, int *isdir);
int local_resource_is_changed(SyncDirectory *dir, SyncDatabase *db, LocalResource *res);
int remote_resource_is_changed(
        DavSession *sn,
        SyncDirectory *dir,
        SyncDatabase *db,
        LocalResource *res);

int sync_set_status(DavResource *res, char *status);
int sync_remove_status(DavResource *res);
int sync_put_resource(
        SyncDirectory *dir,
        DavResource *res,
        LocalResource *local,
        int *counter);
int sync_mkdir(SyncDirectory *dir, DavResource *res, LocalResource *local);
int sync_delete_remote_resource(DavSession *sn, LocalResource *res, int *counter);

void remove_deleted_conflicts(SyncDirectory *dir, SyncDatabase *db);

int cmd_resolve_conflicts(CmdArgs *args);
int cmd_delete_conflicts(CmdArgs *args);

int cmd_trash_info(CmdArgs *args);
int cmd_empty_trash(CmdArgs *args);
int cmd_add_directory(CmdArgs *args);
int cmd_list_dirs();
int cmd_check_repositories();

#ifdef	__cplusplus
}
#endif

#endif	/* SYNC_H */

mercurial