kolibrios/programs/network/netsurf/libdom/include/dom/core/characterdata.h
Dmitry Pereverzev (SoUrcerer) 370da47fa0 Netsurf initial port (still needs native ui and cURL)
git-svn-id: svn://kolibrios.org@3584 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-06-01 17:14:14 +00:00

131 lines
4.5 KiB
C

/*
* This file is part of libdom.
* Licensed under the MIT License,
* http://www.opensource.org/licenses/mit-license.php
* Copyright 2007 John-Mark Bell <jmb@netsurf-browser.org>
*/
#ifndef dom_core_characterdata_h_
#define dom_core_characterdata_h_
#include <dom/core/exceptions.h>
#include <dom/core/node.h>
typedef struct dom_characterdata dom_characterdata;
/* The vtable for characterdata */
typedef struct dom_characterdata_vtable {
struct dom_node_vtable base;
dom_exception (*dom_characterdata_get_data)(
struct dom_characterdata *cdata,
dom_string **data);
dom_exception (*dom_characterdata_set_data)(
struct dom_characterdata *cdata,
dom_string *data);
dom_exception (*dom_characterdata_get_length)(
struct dom_characterdata *cdata,
uint32_t *length);
dom_exception (*dom_characterdata_substring_data)(
struct dom_characterdata *cdata, uint32_t offset,
uint32_t count, dom_string **data);
dom_exception (*dom_characterdata_append_data)(
struct dom_characterdata *cdata,
dom_string *data);
dom_exception (*dom_characterdata_insert_data)(
struct dom_characterdata *cdata,
uint32_t offset, dom_string *data);
dom_exception (*dom_characterdata_delete_data)(
struct dom_characterdata *cdata,
uint32_t offset, uint32_t count);
dom_exception (*dom_characterdata_replace_data)(
struct dom_characterdata *cdata, uint32_t offset,
uint32_t count, dom_string *data);
} dom_characterdata_vtable;
static inline dom_exception dom_characterdata_get_data(
struct dom_characterdata *cdata, dom_string **data)
{
return ((dom_characterdata_vtable *) ((dom_node *) cdata)->vtable)->
dom_characterdata_get_data(cdata, data);
}
#define dom_characterdata_get_data(c, d) dom_characterdata_get_data( \
(struct dom_characterdata *) (c), (d))
static inline dom_exception dom_characterdata_set_data(
struct dom_characterdata *cdata, dom_string *data)
{
return ((dom_characterdata_vtable *) ((dom_node *) cdata)->vtable)->
dom_characterdata_set_data(cdata, data);
}
#define dom_characterdata_set_data(c, d) dom_characterdata_set_data( \
(struct dom_characterdata *) (c), (d))
static inline dom_exception dom_characterdata_get_length(
struct dom_characterdata *cdata, uint32_t *length)
{
return ((dom_characterdata_vtable *) ((dom_node *) cdata)->vtable)->
dom_characterdata_get_length(cdata, length);
}
#define dom_characterdata_get_length(c, l) dom_characterdata_get_length( \
(struct dom_characterdata *) (c), (uint32_t *) (l))
static inline dom_exception dom_characterdata_substring_data(
struct dom_characterdata *cdata, uint32_t offset,
uint32_t count, dom_string **data)
{
return ((dom_characterdata_vtable *) ((dom_node *) cdata)->vtable)->
dom_characterdata_substring_data(cdata, offset, count,
data);
}
#define dom_characterdata_substring_data(c, o, ct, d) \
dom_characterdata_substring_data( \
(struct dom_characterdata *) (c), (uint32_t) (o), \
(uint32_t) (ct), (d))
static inline dom_exception dom_characterdata_append_data(
struct dom_characterdata *cdata, dom_string *data)
{
return ((dom_characterdata_vtable *) ((dom_node *) cdata)->vtable)->
dom_characterdata_append_data(cdata, data);
}
#define dom_characterdata_append_data(c, d) dom_characterdata_append_data( \
(struct dom_characterdata *) (c), (d))
static inline dom_exception dom_characterdata_insert_data(
struct dom_characterdata *cdata, uint32_t offset,
dom_string *data)
{
return ((dom_characterdata_vtable *) ((dom_node *) cdata)->vtable)->
dom_characterdata_insert_data(cdata, offset, data);
}
#define dom_characterdata_insert_data(c, o, d) dom_characterdata_insert_data( \
(struct dom_characterdata *) (c), (uint32_t) (o), (d))
static inline dom_exception dom_characterdata_delete_data(
struct dom_characterdata *cdata, uint32_t offset,
uint32_t count)
{
return ((dom_characterdata_vtable *) ((dom_node *) cdata)->vtable)->
dom_characterdata_delete_data(cdata, offset, count);
}
#define dom_characterdata_delete_data(c, o, ct) dom_characterdata_delete_data(\
(struct dom_characterdata *) (c), (uint32_t) (o), \
(uint32_t) (ct))
static inline dom_exception dom_characterdata_replace_data(
struct dom_characterdata *cdata, uint32_t offset,
uint32_t count, dom_string *data)
{
return ((dom_characterdata_vtable *) ((dom_node *) cdata)->vtable)->
dom_characterdata_replace_data(cdata, offset, count,
data);
}
#define dom_characterdata_replace_data(c, o, ct, d) \
dom_characterdata_replace_data(\
(struct dom_characterdata *) (c), (uint32_t) (o),\
(uint32_t) (ct), (d))
#endif