mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-01-12 23:46:17 +01:00
Add properties
svn path=/trunk/; revision=6003
This commit is contained in:
parent
ff0acf0af6
commit
651efa855c
@ -1,3 +1,8 @@
|
|||||||
|
2007-11-30 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* gdatainputstream.c: Turn byte-order and newline-type into
|
||||||
|
properties.
|
||||||
|
|
||||||
2007-11-30 Matthias Clasen <mclasen@redhat.com>
|
2007-11-30 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
* gioenumtypes.[hc].template: Templates for enum registration
|
* gioenumtypes.[hc].template: Templates for enum registration
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include "gdatainputstream.h"
|
#include "gdatainputstream.h"
|
||||||
|
#include "gioenumtypes.h"
|
||||||
#include "glibintl.h"
|
#include "glibintl.h"
|
||||||
|
|
||||||
#include "gioalias.h"
|
#include "gioalias.h"
|
||||||
@ -43,7 +44,9 @@ struct _GDataInputStreamPrivate {
|
|||||||
};
|
};
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
PROP_0
|
PROP_0,
|
||||||
|
PROP_BYTE_ORDER,
|
||||||
|
PROP_NEWLINE_TYPE
|
||||||
};
|
};
|
||||||
|
|
||||||
static void g_data_input_stream_set_property (GObject *object,
|
static void g_data_input_stream_set_property (GObject *object,
|
||||||
@ -70,6 +73,37 @@ g_data_input_stream_class_init (GDataInputStreamClass *klass)
|
|||||||
object_class = G_OBJECT_CLASS (klass);
|
object_class = G_OBJECT_CLASS (klass);
|
||||||
object_class->get_property = g_data_input_stream_get_property;
|
object_class->get_property = g_data_input_stream_get_property;
|
||||||
object_class->set_property = g_data_input_stream_set_property;
|
object_class->set_property = g_data_input_stream_set_property;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GDataStream:byte-order:
|
||||||
|
*
|
||||||
|
* The ::byte-order property determines the byte ordering that
|
||||||
|
* is used when reading multi-byte entities (such as integers)
|
||||||
|
* from the stream.
|
||||||
|
*/
|
||||||
|
g_object_class_install_property (object_class,
|
||||||
|
PROP_BYTE_ORDER,
|
||||||
|
g_param_spec_enum ("byte-order",
|
||||||
|
P_("Byte order"),
|
||||||
|
P_("The byte order"),
|
||||||
|
G_TYPE_DATA_STREAM_BYTE_ORDER,
|
||||||
|
G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN,
|
||||||
|
G_PARAM_READWRITE|G_PARAM_STATIC_NAME|G_PARAM_STATIC_BLURB));
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GDataStream:newline-type:
|
||||||
|
*
|
||||||
|
* The :newline-type property determines what is considered
|
||||||
|
* as a line ending when reading complete lines from the stream.
|
||||||
|
*/
|
||||||
|
g_object_class_install_property (object_class,
|
||||||
|
PROP_NEWLINE_TYPE,
|
||||||
|
g_param_spec_enum ("newline-type",
|
||||||
|
P_("Newline type"),
|
||||||
|
P_("The accepted types of line ending"),
|
||||||
|
G_TYPE_DATA_STREAM_NEWLINE_TYPE,
|
||||||
|
G_DATA_STREAM_NEWLINE_TYPE_LF,
|
||||||
|
G_PARAM_READWRITE|G_PARAM_STATIC_NAME|G_PARAM_STATIC_BLURB));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -84,8 +118,15 @@ g_data_input_stream_set_property (GObject *object,
|
|||||||
dstream = G_DATA_INPUT_STREAM (object);
|
dstream = G_DATA_INPUT_STREAM (object);
|
||||||
priv = dstream->priv;
|
priv = dstream->priv;
|
||||||
|
|
||||||
switch (prop_id)
|
switch (prop_id)
|
||||||
{
|
{
|
||||||
|
case PROP_BYTE_ORDER:
|
||||||
|
g_data_input_stream_set_byte_order (dstream, g_value_get_enum (value));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PROP_NEWLINE_TYPE:
|
||||||
|
g_data_input_stream_set_newline_type (dstream, g_value_get_enum (value));
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||||
@ -108,6 +149,14 @@ g_data_input_stream_get_property (GObject *object,
|
|||||||
|
|
||||||
switch (prop_id)
|
switch (prop_id)
|
||||||
{
|
{
|
||||||
|
case PROP_BYTE_ORDER:
|
||||||
|
g_value_set_enum (value, priv->byte_order);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PROP_NEWLINE_TYPE:
|
||||||
|
g_value_set_enum (value, priv->newline_type);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||||
break;
|
break;
|
||||||
@ -160,9 +209,18 @@ void
|
|||||||
g_data_input_stream_set_byte_order (GDataInputStream *stream,
|
g_data_input_stream_set_byte_order (GDataInputStream *stream,
|
||||||
GDataStreamByteOrder order)
|
GDataStreamByteOrder order)
|
||||||
{
|
{
|
||||||
|
GDataInputStreamPrivate *priv;
|
||||||
|
|
||||||
g_return_if_fail (G_IS_DATA_INPUT_STREAM (stream));
|
g_return_if_fail (G_IS_DATA_INPUT_STREAM (stream));
|
||||||
|
|
||||||
stream->priv->byte_order = order;
|
priv = stream->priv;
|
||||||
|
|
||||||
|
if (priv->byte_order != order)
|
||||||
|
{
|
||||||
|
priv->byte_order = order;
|
||||||
|
|
||||||
|
g_object_notify (G_OBJECT (stream), "byte-order");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -196,9 +254,18 @@ void
|
|||||||
g_data_input_stream_set_newline_type (GDataInputStream *stream,
|
g_data_input_stream_set_newline_type (GDataInputStream *stream,
|
||||||
GDataStreamNewlineType type)
|
GDataStreamNewlineType type)
|
||||||
{
|
{
|
||||||
|
GDataInputStreamPrivate *priv;
|
||||||
|
|
||||||
g_return_if_fail (G_IS_DATA_INPUT_STREAM (stream));
|
g_return_if_fail (G_IS_DATA_INPUT_STREAM (stream));
|
||||||
|
|
||||||
stream->priv->newline_type = type;
|
priv = stream->priv;
|
||||||
|
|
||||||
|
if (priv->newline_type != type)
|
||||||
|
{
|
||||||
|
priv->newline_type = type;
|
||||||
|
|
||||||
|
g_object_notify (G_OBJECT (stream), "newline-type");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user