1/* 2 * QString Module 3 * 4 * Copyright (C) 2009 Red Hat Inc. 5 * 6 * Authors: 7 * Luiz Capitulino <lcapitulino@redhat.com> 8 * 9 * This work is licensed under the terms of the GNU LGPL, version 2.1 or later. 10 * See the COPYING.LIB file in the top-level directory. 11 */ 12 13#ifndef QSTRING_H 14#define QSTRING_H 15 16#include <stdint.h> 17#include "qapi/qmp/qobject.h" 18 19typedef struct QString { 20 QObject_HEAD; 21 char *string; 22 size_t length; 23 size_t capacity; 24} QString; 25 26QString *qstring_new(void); 27QString *qstring_from_str(const char *str); 28QString *qstring_from_substr(const char *str, int start, int end); 29size_t qstring_get_length(const QString *qstring); 30const char *qstring_get_str(const QString *qstring); 31void qstring_append_int(QString *qstring, int64_t value); 32void qstring_append(QString *qstring, const char *str); 33void qstring_append_chr(QString *qstring, int c); 34QString *qobject_to_qstring(const QObject *obj); 35 36#endif /* QSTRING_H */ 37