Home | History | Annotate | Download | only in qmp
      1 /*
      2  * QString Module
      3  *
      4  * Copyright (C) 2009 Red Hat Inc.
      5  *
      6  * Authors:
      7  *  Luiz Capitulino <lcapitulino (at) 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 
     19 typedef struct QString {
     20     QObject_HEAD;
     21     char *string;
     22     size_t length;
     23     size_t capacity;
     24 } QString;
     25 
     26 QString *qstring_new(void);
     27 QString *qstring_from_str(const char *str);
     28 QString *qstring_from_substr(const char *str, int start, int end);
     29 size_t qstring_get_length(const QString *qstring);
     30 const char *qstring_get_str(const QString *qstring);
     31 void qstring_append_int(QString *qstring, int64_t value);
     32 void qstring_append(QString *qstring, const char *str);
     33 void qstring_append_chr(QString *qstring, int c);
     34 QString *qobject_to_qstring(const QObject *obj);
     35 
     36 #endif /* QSTRING_H */
     37