Синхронизация приложения C++ с Ubuntu Один

Я в настоящее время разрабатываю приложение в C++, который будет синхронизировать, это - данные с Ubuntu Один, но я не могу найти документацию онлайн, которая объясняет, как сделать это. Я нашел статью Ars Technica Ryan Paul, которая предоставляет превосходное введение в выполнение этого в Python при упоминании, что там существует библиотека, которая упростит это в C, но это не обеспечивает подсказку как, туда, где это решение на базе С может быть найдено. Я Погуглил вокруг некоторое время, но никто, кажется, не говорит о разработке приложений, которые используют в своих интересах Ubuntu Одна синхронизация.

Кто-либо знает, где я могу информация об этом интерфейсе на базе С?

3
задан 1 June 2011 в 17:19

1 ответ

Ubuntu, которую Каждый обеспечивает синхронизации данных через desktopcouch, который является локальной версией CouchDB, который автоматически синхронизируется с Ubuntu Все до одного Ваши машины. Некоторая документация для облака и API Python доступна в Ubuntu Один здесь, который может быть полезным, если Вы хотите создать веб-приложения или мобильные приложения, которые работают с теми же данными как Ваше приложение C++ Ubuntu.

API C/C++ еще не находится на сайте разработчика (это скоро будет!), таким образом, вот сводка, которой должно быть достаточно для начала работы.

Для C/C++ Вы имеете couchdb-бойкий и desktopcouch-бойкий. couchdb-бойкий обеспечивает универсальный CouchDB API, и desktopcouch-бойкий просто обеспечивает один объект, который создает объект Сессии со всем, что необходимо для соединения с Ubuntu desktopcouch.

Так:

DesktopcouchSession *dc = desktopcouch_session_new ();

DesktopcouchSession является подклассом CouchdbSession, поэтому после того как Вы получаете один экземпляр его, можно использовать методы в CouchdbSession для доступа к базовому экземпляру CouchDB:

GSList              *couchdb_session_list_databases (CouchdbSession *session, 
                                                     GError **error);
CouchdbDatabase     *couchdb_session_get_database (CouchdbSession *session, 
                                                   const char *dbname, 
                                                   GError **error);
gboolean             couchdb_session_create_database (CouchdbSession *session, 
                                                      const char *dbname, 
                                                      GError **error);
gboolean             couchdb_session_delete_database (CouchdbSession *session, 
                                                      const char *dbname, 
                                                      GError **error);

С теми методами Вы управляете базами данных, и с get_database и create_database, Вы получаете экземпляр объекта CouchdbDatabase, который позволяет Вам управлять документами в базах данных:

GSList       *couchdb_database_get_all_documents (CouchdbDatabase *database, 
                                                  GError **error);
gboolean      couchdb_database_put_document (CouchdbDatabase *database,
                                             CouchdbDocument *document,
                                             GError **error);
gboolean      couchdb_database_delete_document (CouchdbDatabase *database, 
                                                CouchdbDocument *document, 
                                                GError **error);

Как Вы видите для управления самими документами, существует другой объект, CouchdbDocument. Кроме того, существуют подклассы этого для управления определенными типами документов, как CouchdbDocumentContact (для контактов).

Можно получить полную ссылку API путем установки #libcouchdb-glib-doc Install libcouchdb-glib-doc пакет. Установка #libdesktopcouch-glib-dev Install libdesktopcouch-glib-dev должна вытянуть во всех библиотеках, в которых Вы нуждаетесь.

API предоставляет Вам доступ к CouchDB, поэтому конечно, необходимо будет знать, как сам CouchDB работает, и как Вы храните данные в нем. Короткий ответ: данные хранятся в документах JSON и извлекаются идентификатором документа или с предварительно вычисленными представлениями. http://guide.couchdb.org/ является книгой CouchDB, которая объясняет метод Couch хранения данных более подробно.

Если у Вас есть вопросы, действительно проверьте с помощью ping-запросов меня (водолей) или rodrigo на #ubuntuone на freenode. Я был бы более, чем рад говорить с Вами о том, что Вы планируете сделать и хорошие способы смоделировать те данные в Ubuntu Одна система хранения данных.

8
ответ дан 1 December 2019 в 13:21

Другие вопросы по тегам:

Похожие вопросы: