void
couchdb_document_contact_set_title (CouchdbDocumentContact *document, const char *title)
{
      	g_return_if_fail (COUCHDB_IS_DOCUMENT_CONTACT (document));
	g_return_if_fail (couchdb_document_is_contact (COUCHDB_DOCUMENT (document)));
	g_return_if_fail (title != NULL);

	couchdb_document_set_string_field (COUCHDB_DOCUMENT (document), "title", title);
}
void
couchdb_document_contact_set_notes (CouchdbDocumentContact *document, const char *notes)
{
	g_return_if_fail (COUCHDB_IS_DOCUMENT_CONTACT (document));
	g_return_if_fail (couchdb_document_is_contact (COUCHDB_DOCUMENT (document)));
	g_return_if_fail (notes != NULL);

	couchdb_document_set_string_field (COUCHDB_DOCUMENT (document), "notes", notes);
}
void
couchdb_document_contact_set_company (CouchdbDocumentContact *document, const char *company)
{
      	g_return_if_fail (COUCHDB_IS_DOCUMENT_CONTACT (document));
	g_return_if_fail (couchdb_document_is_contact (COUCHDB_DOCUMENT (document)));
	g_return_if_fail (company != NULL);

	couchdb_document_set_string_field (COUCHDB_DOCUMENT (document), "company", company);
}
void
couchdb_document_contact_set_department (CouchdbDocumentContact *document, const char *department)
{
      	g_return_if_fail (COUCHDB_IS_DOCUMENT_CONTACT (document));
	g_return_if_fail (couchdb_document_is_contact (COUCHDB_DOCUMENT (document)));
	g_return_if_fail (department != NULL);

	couchdb_document_set_string_field (COUCHDB_DOCUMENT (document), "department", department);
}
void
couchdb_document_contact_set_suffix (CouchdbDocumentContact *document, const char *suffix)
{
      	g_return_if_fail (COUCHDB_IS_DOCUMENT_CONTACT (document));
	g_return_if_fail (couchdb_document_is_contact (COUCHDB_DOCUMENT (document)));
	g_return_if_fail (suffix != NULL);

	couchdb_document_set_string_field (COUCHDB_DOCUMENT (document), "suffix", suffix);
}
void
couchdb_document_contact_set_wedding_date (CouchdbDocumentContact *document, const char *wedding_date)
{
	g_return_if_fail (COUCHDB_IS_DOCUMENT_CONTACT (document));
	g_return_if_fail (couchdb_document_is_contact (COUCHDB_DOCUMENT (document)));
	g_return_if_fail (wedding_date != NULL);

	couchdb_document_set_string_field (COUCHDB_DOCUMENT (document), "wedding_date", wedding_date);
}
void
desktopcouch_document_contact_set_middle_name (CouchdbDocument *document, const char *middle_name)
{
	g_return_if_fail (COUCHDB_IS_DOCUMENT (document));
	g_return_if_fail (desktopcouch_document_is_contact (document));
	g_return_if_fail (middle_name != NULL);

	couchdb_document_set_string_field (document, "middle_name", middle_name);
}
void
desktopcouch_document_contact_set_wedding_date (CouchdbDocument *document, const char *wedding_date)
{
	g_return_if_fail (COUCHDB_IS_DOCUMENT (document));
	g_return_if_fail (desktopcouch_document_is_contact (document));
	g_return_if_fail (wedding_date != NULL);

	couchdb_document_set_string_field (document, "wedding_date", wedding_date);
}
void
desktopcouch_document_contact_set_title (CouchdbDocument *document, const char *title)
{
      	g_return_if_fail (COUCHDB_IS_DOCUMENT (document));
	g_return_if_fail (desktopcouch_document_is_contact (document));
	g_return_if_fail (title != NULL);

	couchdb_document_set_string_field (document, "title", title);
}
void
desktopcouch_document_contact_set_notes (CouchdbDocument *document, const char *notes)
{
	g_return_if_fail (COUCHDB_IS_DOCUMENT (document));
	g_return_if_fail (desktopcouch_document_is_contact (document));
	g_return_if_fail (notes != NULL);

	couchdb_document_set_string_field (document, "notes", notes);
}
void
desktopcouch_document_contact_set_office (CouchdbDocument *document, const char *office)
{
      	g_return_if_fail (COUCHDB_IS_DOCUMENT (document));
	g_return_if_fail (desktopcouch_document_is_contact (document));
	g_return_if_fail (office != NULL);

	couchdb_document_set_string_field (document, "office", office);
}
void
desktopcouch_document_contact_set_department (CouchdbDocument *document, const char *department)
{
      	g_return_if_fail (COUCHDB_IS_DOCUMENT (document));
	g_return_if_fail (desktopcouch_document_is_contact (document));
	g_return_if_fail (department != NULL);

	couchdb_document_set_string_field (document, "department", department);
}
void
desktopcouch_document_contact_set_company (CouchdbDocument *document, const char *company)
{
      	g_return_if_fail (COUCHDB_IS_DOCUMENT (document));
	g_return_if_fail (desktopcouch_document_is_contact (document));
	g_return_if_fail (company != NULL);

	couchdb_document_set_string_field (document, "company", company);
}
void
couchdb_document_contact_set_middle_name (CouchdbDocumentContact *document, const char *middle_name)
{
	g_return_if_fail (COUCHDB_IS_DOCUMENT_CONTACT (document));
	g_return_if_fail (couchdb_document_is_contact (COUCHDB_DOCUMENT (document)));
	g_return_if_fail (middle_name != NULL);

	couchdb_document_set_string_field (COUCHDB_DOCUMENT (document), "middle_name", middle_name);
}
void
desktopcouch_document_contact_set_suffix (CouchdbDocument *document, const char *suffix)
{
      	g_return_if_fail (COUCHDB_IS_DOCUMENT (document));
	g_return_if_fail (desktopcouch_document_is_contact (document));
	g_return_if_fail (suffix != NULL);

	couchdb_document_set_string_field (document, "suffix", suffix);
}
static void
test_change_databases (void)
{
    char *dbname;
    gint i;
    GError *error = NULL;

    dbname = generate_uuid ();
    g_assert (dbname != NULL);

    /* Database name can not start with a digit
     * we will overwrite the first character with 'a' */
    dbname[0] = 'a';

    /* Create database */
    couchdb_session_create_database (couchdb, dbname, &error);
    if (error) {
        g_critical ("Error creating database '%s': %s", dbname, error->message);
        g_error_free (error);
    }

    couchdb_session_listen_for_changes (couchdb, dbname);

    /* Create some documents */
    for (i = 0; i < 10; i++) {
        CouchdbDocument *document;
        char *str;

        document = couchdb_document_new (couchdb);
        g_assert (document != NULL);

        couchdb_document_set_boolean_field (document, "boolean", TRUE);
        couchdb_document_set_int_field (document, "int", i);
        couchdb_document_set_double_field (document, "double", (gdouble) i);

        str = g_strdup_printf ("value%d", i);
        couchdb_document_set_string_field (document, "string", str);
        g_free (str);

        g_assert (couchdb_document_put (document, dbname, &error));
        g_assert (error == NULL);
    }

    /* Delete database */
    g_assert (couchdb_session_delete_database (couchdb, dbname, &error));
    g_assert (error == NULL);

    /* Free memory */
    g_free (dbname);
}
Beispiel #17
0
static CouchdbDocument *
format_document(Log4gLayout *base, Log4gLoggingEvent *event)
{
	CouchdbDocument *document = couchdb_document_new();
	if (!document) {
		return NULL;
	}
	/* destopcouch schema */
	couchdb_document_set_string_field(document, "record_type",
			"http://msteinert.github.com/log4g/couchdb");
	couchdb_document_set_string_field(document, "record_type_version",
			"1.0");
	/* message */
	const gchar *string = log4g_logging_event_get_message(event);
	couchdb_document_set_string_field(document, "message",
			string ? string : "");
	/* log level */
	Log4gLevel *level = log4g_logging_event_get_level(event);
	if (level) {
		couchdb_document_set_string_field(document, "level",
				log4g_level_to_string(level));
	}
	/* logger name */
	string = log4g_logging_event_get_logger_name(event);
	if (string) {
		couchdb_document_set_string_field(document, "logger", string);
	}
	/* MDC */
	const GArray *keys = log4g_logging_event_get_property_key_set(event);
	if (keys) {
		CouchdbStructField *mdc = couchdb_struct_field_new();
		if (mdc) {
			for (gint i = 0; i < keys->len; ++i) {
				string = g_array_index(keys, const gchar *, i);
				couchdb_struct_field_set_string_field(
						mdc, string,
						log4g_logging_event_get_mdc(
							event, string));
			}
			couchdb_document_set_struct_field(document, "mdc", mdc);
		}
	}
	/* NDC */
	string = log4g_logging_event_get_ndc(event);
	if (string) {
		couchdb_document_set_string_field(document, "ndc", string);
	}
	/* timestamp */
	GTimeVal *tv = log4g_logging_event_get_time_stamp(event);
	if (tv) {
		gchar string[64];
		g_snprintf(string, sizeof string, "%lu",
				(gulong)((tv->tv_sec * 1000)
					+ (tv->tv_usec * 0.001)));
		couchdb_document_set_string_field(document, "timestamp",
				string);
	}
	/* thread */
	string = log4g_logging_event_get_thread_name(event);
	if (string) {
		couchdb_document_set_string_field(document, "thread", string);
	}
	/* function */
	string = log4g_logging_event_get_function_name(event);
	if (string) {
		couchdb_document_set_string_field(document, "function", string);
	}
	/* file */
	string = log4g_logging_event_get_file_name(event);
	if (string) {
		couchdb_document_set_string_field(document, "file", string);
	}
	/* line */
	string = log4g_logging_event_get_line_number(event);
	if (string) {
		couchdb_document_set_string_field(document, "line", string);
	}
	return document;
}