| gda-connection-private.h | | gda-connection-private.h | |
| | | | |
| skipping to change at line 40 | | skipping to change at line 40 | |
| | | | |
| /* | | /* | |
| * Provider's specific connection data management | | * Provider's specific connection data management | |
| */ | | */ | |
| void gda_connection_internal_set_provider_data (GdaConnection *cnc, gpo
inter data, GDestroyNotify destroy_func); | | void gda_connection_internal_set_provider_data (GdaConnection *cnc, gpo
inter data, GDestroyNotify destroy_func); | |
| gpointer gda_connection_internal_get_provider_data (GdaConnection *cnc); | | gpointer gda_connection_internal_get_provider_data (GdaConnection *cnc); | |
| | | | |
| /* | | /* | |
| * Connection's events | | * Connection's events | |
| */ | | */ | |
|
| | | GdaConnectionEvent *gda_connection_point_available_event(GdaConnection *cn
c, GdaConnectionEventType type); | |
| void gda_connection_add_event (GdaConnection *cn
c, GdaConnectionEvent *event); | | void gda_connection_add_event (GdaConnection *cn
c, GdaConnectionEvent *event); | |
| GdaConnectionEvent *gda_connection_add_event_string (GdaConnection *cn
c, const gchar *str, ...); | | GdaConnectionEvent *gda_connection_add_event_string (GdaConnection *cn
c, const gchar *str, ...); | |
| void gda_connection_clear_events_list (GdaConnection *cn
c); | | void gda_connection_clear_events_list (GdaConnection *cn
c); | |
| | | | |
| /* | | /* | |
| * Transaction related | | * Transaction related | |
| */ | | */ | |
| void gda_connection_internal_transaction_started (GdaConnection *cnc, const
gchar *parent_trans, const gchar *trans_name, | | void gda_connection_internal_transaction_started (GdaConnection *cnc, const
gchar *parent_trans, const gchar *trans_name, | |
| GdaTransactionIsolation is
ol_level); | | GdaTransactionIsolation is
ol_level); | |
| void gda_connection_internal_transaction_rolledback (GdaConnection *cnc, co
nst gchar *trans_name); | | void gda_connection_internal_transaction_rolledback (GdaConnection *cnc, co
nst gchar *trans_name); | |
| | | | |
End of changes. 1 change blocks. |
| 0 lines changed or deleted | | 1 lines changed or added | |
|
| gda-connection.h | | gda-connection.h | |
| | | | |
| skipping to change at line 100 | | skipping to change at line 100 | |
| * @GDA_CONNECTION_OPTIONS_NONE: no specific aspect | | * @GDA_CONNECTION_OPTIONS_NONE: no specific aspect | |
| * @GDA_CONNECTION_OPTIONS_READ_ONLY: this flag specifies that the connecti
on to open should be in a read-only mode | | * @GDA_CONNECTION_OPTIONS_READ_ONLY: this flag specifies that the connecti
on to open should be in a read-only mode | |
| * (this policy is not correctly enforce
d at the moment) | | * (this policy is not correctly enforce
d at the moment) | |
| * @GDA_CONNECTION_OPTIONS_SQL_IDENTIFIERS_CASE_SENSITIVE: this flag specif
ies that SQL identifiers submitted as input | | * @GDA_CONNECTION_OPTIONS_SQL_IDENTIFIERS_CASE_SENSITIVE: this flag specif
ies that SQL identifiers submitted as input | |
| * to Libgda have to keep their case sen
sitivity. | | * to Libgda have to keep their case sen
sitivity. | |
| * @GDA_CONNECTION_OPTIONS_THREAD_SAFE: this flag specifies that the connec
tion to open will be used | | * @GDA_CONNECTION_OPTIONS_THREAD_SAFE: this flag specifies that the connec
tion to open will be used | |
| * by several threads at once so it has
to be thread safe | | * by several threads at once so it has
to be thread safe | |
| * @GDA_CONNECTION_OPTIONS_THREAD_ISOLATED: this flag specifies that the co
nnection to open will be used | | * @GDA_CONNECTION_OPTIONS_THREAD_ISOLATED: this flag specifies that the co
nnection to open will be used | |
| * by several threads at once and reque
sts that the real connection be used | | * by several threads at once and reque
sts that the real connection be used | |
| * only in a sub thread created specifi
cally for it | | * only in a sub thread created specifi
cally for it | |
|
| * | | * @GDA_CONNECTION_OPTIONS_AUTO_META_DATA: this flags specifies that if a # | |
| | | GdaMetaStore has been associated | |
| | | * to the connection, then it is kept u | |
| | | p to date with the evolutions in the | |
| | | * database's structure. Be aware howev | |
| | | er that there are some drawbacks | |
| | | * explained below. | |
| * | | * | |
| * Specifies some aspects of a connection when opening it. | | * Specifies some aspects of a connection when opening it. | |
| * | | * | |
| * Additional information about the GDA_CONNECTION_OPTIONS_SQL_IDENTIFIERS_
CASE_SENSITIVE flag: | | * Additional information about the GDA_CONNECTION_OPTIONS_SQL_IDENTIFIERS_
CASE_SENSITIVE flag: | |
| * <itemizedlist> | | * <itemizedlist> | |
| * <listitem><para>For example without this flag, if the table | | * <listitem><para>For example without this flag, if the table | |
| * name specified in a #GdaServerOperation to create a table is | | * name specified in a #GdaServerOperation to create a table is | |
| * <emphasis>MyTable</emphasis>, then usually the database will creat
e a table named | | * <emphasis>MyTable</emphasis>, then usually the database will creat
e a table named | |
| * <emphasis>mytable</emphasis>, whereas with this flag, the table wi
ll be created | | * <emphasis>mytable</emphasis>, whereas with this flag, the table wi
ll be created | |
| * as <emphasis>MyTable</emphasis> (note that in the end the database
may still decide | | * as <emphasis>MyTable</emphasis> (note that in the end the database
may still decide | |
| | | | |
| skipping to change at line 132 | | skipping to change at line 135 | |
| * while a "wrapper connection" is actually returned and used by the caller
(that wrapper connection passes method calls | | * while a "wrapper connection" is actually returned and used by the caller
(that wrapper connection passes method calls | |
| * from the calling thread to the actual connection's specific thread, and
gets the results back). | | * from the calling thread to the actual connection's specific thread, and
gets the results back). | |
| * | | * | |
| * The GDA_CONNECTION_OPTIONS_THREAD_ISOLATED forces using a specific threa
d and a "wrapper connection" even if the | | * The GDA_CONNECTION_OPTIONS_THREAD_ISOLATED forces using a specific threa
d and a "wrapper connection" even if the | |
| * "normal" connection would itself be thread safe; this is usefull for exa
mple to be sure the asynchronous API can | | * "normal" connection would itself be thread safe; this is usefull for exa
mple to be sure the asynchronous API can | |
| * always be used (see gda_connection_async_statement_execute()). | | * always be used (see gda_connection_async_statement_execute()). | |
| * | | * | |
| * Having a specific thread and a "wrapper connection" definitely has an im
pact on the performances (because it involves | | * Having a specific thread and a "wrapper connection" definitely has an im
pact on the performances (because it involves | |
| * messages passing between threads for every method call), so using the | | * messages passing between threads for every method call), so using the | |
| * GDA_CONNECTION_OPTIONS_THREAD_SAFE or GDA_CONNECTION_OPTIONS_THREAD_ISOL
ATED flags should be carefully considered. | | * GDA_CONNECTION_OPTIONS_THREAD_SAFE or GDA_CONNECTION_OPTIONS_THREAD_ISOL
ATED flags should be carefully considered. | |
|
| | | * | |
| | | * Note about the @GDA_CONNECTION_OPTIONS_AUTO_META_DATA flag: | |
| | | * <itemizedlist> | |
| | | * <listitem><para>Every time a DDL statement is successfully executed, th | |
| | | e associated mate data, if | |
| | | defined, will be updated, which has a impact on performances< | |
| | | /para></listitem> | |
| | | * <listitem><para>If a transaction is started and some DDL statements are | |
| | | executed and the transaction | |
| | | * is not rolled back or committed, then the meta data may end u | |
| | | p being wrong</para></listitem> | |
| | | * </itemizedlist> | |
| */ | | */ | |
| typedef enum { | | typedef enum { | |
| GDA_CONNECTION_OPTIONS_NONE = 0, | | GDA_CONNECTION_OPTIONS_NONE = 0, | |
| GDA_CONNECTION_OPTIONS_READ_ONLY = 1 << 0, | | GDA_CONNECTION_OPTIONS_READ_ONLY = 1 << 0, | |
| GDA_CONNECTION_OPTIONS_SQL_IDENTIFIERS_CASE_SENSITIVE = 1 << 1, | | GDA_CONNECTION_OPTIONS_SQL_IDENTIFIERS_CASE_SENSITIVE = 1 << 1, | |
| GDA_CONNECTION_OPTIONS_THREAD_SAFE = 1 << 2, | | GDA_CONNECTION_OPTIONS_THREAD_SAFE = 1 << 2, | |
|
| GDA_CONNECTION_OPTIONS_THREAD_ISOLATED = 1 << 3 | | GDA_CONNECTION_OPTIONS_THREAD_ISOLATED = 1 << 3, | |
| | | GDA_CONNECTION_OPTIONS_AUTO_META_DATA = 1 << 4 | |
| } GdaConnectionOptions; | | } GdaConnectionOptions; | |
| | | | |
| /** | | /** | |
| * GdaConnectionFeature | | * GdaConnectionFeature | |
| * @GDA_CONNECTION_FEATURE_AGGREGATES: test for aggregates support | | * @GDA_CONNECTION_FEATURE_AGGREGATES: test for aggregates support | |
| * @GDA_CONNECTION_FEATURE_BLOBS: test for BLOBS (binary large objects) sup
port | | * @GDA_CONNECTION_FEATURE_BLOBS: test for BLOBS (binary large objects) sup
port | |
| * @GDA_CONNECTION_FEATURE_INDEXES: test for indexes support | | * @GDA_CONNECTION_FEATURE_INDEXES: test for indexes support | |
| * @GDA_CONNECTION_FEATURE_INHERITANCE: test for tables inheritance support | | * @GDA_CONNECTION_FEATURE_INHERITANCE: test for tables inheritance support | |
| * @GDA_CONNECTION_FEATURE_NAMESPACES: test for namespaces support | | * @GDA_CONNECTION_FEATURE_NAMESPACES: test for namespaces support | |
| * @GDA_CONNECTION_FEATURE_PROCEDURES: test for functions support | | * @GDA_CONNECTION_FEATURE_PROCEDURES: test for functions support | |
| | | | |
End of changes. 3 change blocks. |
| 2 lines changed or deleted | | 21 lines changed or added | |
|
| gda-server-operation.h | | gda-server-operation.h | |
| | | | |
| skipping to change at line 120 | | skipping to change at line 120 | |
| void (*_gda_reserved1) (void); | | void (*_gda_reserved1) (void); | |
| void (*_gda_reserved2) (void); | | void (*_gda_reserved2) (void); | |
| void (*_gda_reserved3) (void); | | void (*_gda_reserved3) (void); | |
| void (*_gda_reserved4) (void); | | void (*_gda_reserved4) (void); | |
| }; | | }; | |
| | | | |
| GType gda_server_operation_get_type (vo
id) G_GNUC_CONST; | | GType gda_server_operation_get_type (vo
id) G_GNUC_CONST; | |
| GdaServerOperation *gda_server_operation_new (Gd
aServerOperationType op_type, const gchar *xml_file); | | GdaServerOperation *gda_server_operation_new (Gd
aServerOperationType op_type, const gchar *xml_file); | |
| GdaServerOperationType gda_server_operation_get_op_type (Gd
aServerOperation *op); | | GdaServerOperationType gda_server_operation_get_op_type (Gd
aServerOperation *op); | |
| const gchar *gda_server_operation_op_type_to_string (Gd
aServerOperationType type); | | const gchar *gda_server_operation_op_type_to_string (Gd
aServerOperationType type); | |
|
| | | GdaServerOperationType gda_server_operation_string_to_op_type (co
nst gchar *str); | |
| GdaServerOperationNode *gda_server_operation_get_node_info (Gd
aServerOperation *op, const gchar *path_format, ...); | | GdaServerOperationNode *gda_server_operation_get_node_info (Gd
aServerOperation *op, const gchar *path_format, ...); | |
| | | | |
| const GValue *gda_server_operation_get_value_at (Gd
aServerOperation *op, const gchar *path_format, ...); | | const GValue *gda_server_operation_get_value_at (Gd
aServerOperation *op, const gchar *path_format, ...); | |
| gchar *gda_server_operation_get_sql_identifier_at (Gd
aServerOperation *op, | | gchar *gda_server_operation_get_sql_identifier_at (Gd
aServerOperation *op, | |
| Gda
Connection *cnc, GdaServerProvider *prov, | | Gda
Connection *cnc, GdaServerProvider *prov, | |
| con
st gchar *path_format, ...); | | con
st gchar *path_format, ...); | |
| gboolean gda_server_operation_set_value_at (Gd
aServerOperation *op, const gchar *value, | | gboolean gda_server_operation_set_value_at (Gd
aServerOperation *op, const gchar *value, | |
| GEr
ror **error, const gchar *path_format, ...); | | GEr
ror **error, const gchar *path_format, ...); | |
| | | | |
| xmlNodePtr gda_server_operation_save_data_to_xml (Gd
aServerOperation *op, GError **error); | | xmlNodePtr gda_server_operation_save_data_to_xml (Gd
aServerOperation *op, GError **error); | |
| | | | |
End of changes. 1 change blocks. |
| 0 lines changed or deleted | | 1 lines changed or added | |
|
| gda-server-provider.h | | gda-server-provider.h | |
| | | | |
| skipping to change at line 60 | | skipping to change at line 60 | |
| GDA_SERVER_PROVIDER_METHOD_NON_IMPLEMENTED_ERROR, | | GDA_SERVER_PROVIDER_METHOD_NON_IMPLEMENTED_ERROR, | |
| GDA_SERVER_PROVIDER_PREPARE_STMT_ERROR, | | GDA_SERVER_PROVIDER_PREPARE_STMT_ERROR, | |
| GDA_SERVER_PROVIDER_EMPTY_STMT_ERROR, | | GDA_SERVER_PROVIDER_EMPTY_STMT_ERROR, | |
| GDA_SERVER_PROVIDER_MISSING_PARAM_ERROR, | | GDA_SERVER_PROVIDER_MISSING_PARAM_ERROR, | |
| GDA_SERVER_PROVIDER_STATEMENT_EXEC_ERROR, | | GDA_SERVER_PROVIDER_STATEMENT_EXEC_ERROR, | |
| GDA_SERVER_PROVIDER_OPERATION_ERROR, | | GDA_SERVER_PROVIDER_OPERATION_ERROR, | |
| GDA_SERVER_PROVIDER_INTERNAL_ERROR, | | GDA_SERVER_PROVIDER_INTERNAL_ERROR, | |
| GDA_SERVER_PROVIDER_BUSY_ERROR, | | GDA_SERVER_PROVIDER_BUSY_ERROR, | |
| GDA_SERVER_PROVIDER_NON_SUPPORTED_ERROR, | | GDA_SERVER_PROVIDER_NON_SUPPORTED_ERROR, | |
| GDA_SERVER_PROVIDER_SERVER_VERSION_ERROR, | | GDA_SERVER_PROVIDER_SERVER_VERSION_ERROR, | |
|
| GDA_SERVER_PROVIDER_DATA_ERROR | | GDA_SERVER_PROVIDER_DATA_ERROR, | |
| | | GDA_SERVER_PROVIDER_DEFAULT_VALUE_HANDLING_ERROR | |
| } GdaServerProviderError; | | } GdaServerProviderError; | |
| | | | |
| struct _GdaServerProvider { | | struct _GdaServerProvider { | |
| GObject object; | | GObject object; | |
| GdaServerProviderPrivate *priv; | | GdaServerProviderPrivate *priv; | |
| }; | | }; | |
| | | | |
| typedef struct { | | typedef struct { | |
| /* _information_schema_catalog_name */ | | /* _information_schema_catalog_name */ | |
| gboolean (*_info) (GdaServerProvider *, GdaConnection *,
GdaMetaStore *, GdaMetaContext *, GError **); | | gboolean (*_info) (GdaServerProvider *, GdaConnection *,
GdaMetaStore *, GdaMetaContext *, GError **); | |
| | | | |
| skipping to change at line 225 | | skipping to change at line 226 | |
| gboolean (*xa_rollback) (GdaServerProvider *, GdaConnection *, const
GdaXaTransactionId *, GError **); | | gboolean (*xa_rollback) (GdaServerProvider *, GdaConnection *, const
GdaXaTransactionId *, GError **); | |
| | | | |
| GList *(*xa_recover) (GdaServerProvider *, GdaConnection *, GErro
r **); | | GList *(*xa_recover) (GdaServerProvider *, GdaConnection *, GErro
r **); | |
| } GdaServerProviderXa; | | } GdaServerProviderXa; | |
| | | | |
| typedef void (*GdaServerProviderAsyncCallback) (GdaServerProvider *provider
, GdaConnection *cnc, guint task_id, | | typedef void (*GdaServerProviderAsyncCallback) (GdaServerProvider *provider
, GdaConnection *cnc, guint task_id, | |
| gboolean result_status, cons
t GError *error, gpointer data); | | gboolean result_status, cons
t GError *error, gpointer data); | |
| typedef void (*GdaServerProviderExecCallback) (GdaServerProvider *provider,
GdaConnection *cnc, guint task_id, | | typedef void (*GdaServerProviderExecCallback) (GdaServerProvider *provider,
GdaConnection *cnc, guint task_id, | |
| GObject *result_obj, const GE
rror *error, gpointer data); | | GObject *result_obj, const GE
rror *error, gpointer data); | |
| | | | |
|
| | | #define GDA_SERVER_PROVIDER_UNDEFINED_LIMITING_THREAD ((gpointer)0x1) | |
| struct _GdaServerProviderClass { | | struct _GdaServerProviderClass { | |
| GObjectClass parent_class; | | GObjectClass parent_class; | |
| | | | |
| /* provider information */ | | /* provider information */ | |
| GThread * limiting_thread; /* if not NULL, then usin
g the provider will be limited to this thread */ | | GThread * limiting_thread; /* if not NULL, then usin
g the provider will be limited to this thread */ | |
| const gchar *(* get_name) (GdaServerProvider
*provider); | | const gchar *(* get_name) (GdaServerProvider
*provider); | |
| const gchar *(* get_version) (GdaServerProvider
*provider); | | const gchar *(* get_version) (GdaServerProvider
*provider); | |
| const gchar *(* get_server_version) (GdaServerProvider
*provider, GdaConnection *cnc); | | const gchar *(* get_server_version) (GdaServerProvider
*provider, GdaConnection *cnc); | |
| gboolean (* supports_feature) (GdaServerProvider
*provider, GdaConnection *cnc, | | gboolean (* supports_feature) (GdaServerProvider
*provider, GdaConnection *cnc, | |
| GdaConnectionFeatu
re feature); | | GdaConnectionFeatu
re feature); | |
| | | | |
| skipping to change at line 308 | | skipping to change at line 310 | |
| GdaServerProviderMeta meta_funcs; | | GdaServerProviderMeta meta_funcs; | |
| | | | |
| /* distributed transaction */ | | /* distributed transaction */ | |
| GdaServerProviderXa *xa_funcs; /* it is a pointer! => set to %
NULL if unsupported by provider */ | | GdaServerProviderXa *xa_funcs; /* it is a pointer! => set to %
NULL if unsupported by provider */ | |
| | | | |
| /* SQL identifiers quoting */ | | /* SQL identifiers quoting */ | |
| gchar *(* identifier_quote) (GdaServerProvider *
provider, GdaConnection *cnc, | | gchar *(* identifier_quote) (GdaServerProvider *
provider, GdaConnection *cnc, | |
| const gchar *id, | | const gchar *id, | |
| gboolean for_meta_s
tore, gboolean force_quotes); | | gboolean for_meta_s
tore, gboolean force_quotes); | |
| | | | |
|
| /* Async. handling@ */ | | /* Async. handling */ | |
| gboolean (*handle_async) (GdaServerProvider | | gboolean (*handle_async) (GdaServerProvider * | |
| *provider, GdaConnection *cnc, GError **error); | | provider, GdaConnection *cnc, GError **error); | |
| | | | |
|
| | | GdaSqlStatement *(*statement_rewrite) (GdaServerProvider * | |
| | | provider, GdaConnection *cnc, | |
| | | GdaStatement *stmt, | |
| | | GdaSet *params, GError **error); | |
| /*< private >*/ | | /*< private >*/ | |
| /* Padding for future expansion */ | | /* Padding for future expansion */ | |
|
| void (*_gda_reserved3) (void); | | | |
| void (*_gda_reserved4) (void); | | void (*_gda_reserved4) (void); | |
| void (*_gda_reserved5) (void); | | void (*_gda_reserved5) (void); | |
| void (*_gda_reserved6) (void); | | void (*_gda_reserved6) (void); | |
| }; | | }; | |
| | | | |
| GType gda_server_provider_get_type (void) G_GNUC_CONST; | | GType gda_server_provider_get_type (void) G_GNUC_CONST; | |
| | | | |
| /* provider information */ | | /* provider information */ | |
| const gchar *gda_server_provider_get_name (GdaServerPro
vider *provider); | | const gchar *gda_server_provider_get_name (GdaServerPro
vider *provider); | |
| const gchar *gda_server_provider_get_version (GdaServerPro
vider *provider); | | const gchar *gda_server_provider_get_version (GdaServerPro
vider *provider); | |
| | | | |
End of changes. 5 change blocks. |
| 5 lines changed or deleted | | 10 lines changed or added | |
|
| gda-set.h | | gda-set.h | |
| | | | |
| skipping to change at line 42 | | skipping to change at line 42 | |
| #define GDA_IS_SET(obj) G_TYPE_CHECK_INSTANCE_TYPE (obj, gda_set_get_
type ()) | | #define GDA_IS_SET(obj) G_TYPE_CHECK_INSTANCE_TYPE (obj, gda_set_get_
type ()) | |
| | | | |
| /* error reporting */ | | /* error reporting */ | |
| extern GQuark gda_set_error_quark (void); | | extern GQuark gda_set_error_quark (void); | |
| #define GDA_SET_ERROR gda_set_error_quark () | | #define GDA_SET_ERROR gda_set_error_quark () | |
| | | | |
| typedef enum | | typedef enum | |
| { | | { | |
| GDA_SET_XML_SPEC_ERROR, | | GDA_SET_XML_SPEC_ERROR, | |
| GDA_SET_HOLDER_NOT_FOUND_ERROR, | | GDA_SET_HOLDER_NOT_FOUND_ERROR, | |
|
| GDA_SET_INVALID_ERROR | | GDA_SET_INVALID_ERROR, | |
| | | GDA_SET_READ_ONLY_ERROR | |
| } GdaSetError; | | } GdaSetError; | |
| | | | |
| struct _GdaSetNode { | | struct _GdaSetNode { | |
| GdaHolder *holder; /* Can't be NULL */ | | GdaHolder *holder; /* Can't be NULL */ | |
| GdaDataModel *source_model; /* may be NULL */ | | GdaDataModel *source_model; /* may be NULL */ | |
| gint source_column; /* unused if @source_model is NULL */ | | gint source_column; /* unused if @source_model is NULL */ | |
| | | | |
|
| | | /*< private >*/ | |
| /* Padding for future expansion */ | | /* Padding for future expansion */ | |
| gpointer _gda_reserved1; | | gpointer _gda_reserved1; | |
| gpointer _gda_reserved2; | | gpointer _gda_reserved2; | |
| }; | | }; | |
| | | | |
| struct _GdaSetGroup { | | struct _GdaSetGroup { | |
| GSList *nodes; /* list of GdaSetNode, at least one entry
*/ | | GSList *nodes; /* list of GdaSetNode, at least one entry
*/ | |
| GdaSetSource *nodes_source; /* if NULL, then @nodes contains exactly
one entry */ | | GdaSetSource *nodes_source; /* if NULL, then @nodes contains exactly
one entry */ | |
| | | | |
|
| | | /*< private >*/ | |
| /* Padding for future expansion */ | | /* Padding for future expansion */ | |
| gpointer _gda_reserved1; | | gpointer _gda_reserved1; | |
| gpointer _gda_reserved2; | | gpointer _gda_reserved2; | |
| }; | | }; | |
| | | | |
| struct _GdaSetSource { | | struct _GdaSetSource { | |
| GdaDataModel *data_model; /* Can't be NULL */ | | GdaDataModel *data_model; /* Can't be NULL */ | |
| GSList *nodes; /* list of #GdaSetNode for which sourc
e_model == @data_model */ | | GSList *nodes; /* list of #GdaSetNode for which sourc
e_model == @data_model */ | |
| | | | |
|
| | | /*< private >*/ | |
| /* Padding for future expansion */ | | /* Padding for future expansion */ | |
| gpointer _gda_reserved1; | | gpointer _gda_reserved1; | |
| gpointer _gda_reserved2; | | gpointer _gda_reserved2; | |
| gpointer _gda_reserved3; | | gpointer _gda_reserved3; | |
| gpointer _gda_reserved4; | | gpointer _gda_reserved4; | |
| }; | | }; | |
| | | | |
| #define GDA_SET_NODE(x) ((GdaSetNode *)(x)) | | #define GDA_SET_NODE(x) ((GdaSetNode *)(x)) | |
| #define GDA_SET_SOURCE(x) ((GdaSetSource *)(x)) | | #define GDA_SET_SOURCE(x) ((GdaSetSource *)(x)) | |
| #define GDA_SET_GROUP(x) ((GdaSetGroup *)(x)) | | #define GDA_SET_GROUP(x) ((GdaSetGroup *)(x)) | |
| | | | |
| skipping to change at line 103 | | skipping to change at line 107 | |
| struct _GdaSetClass | | struct _GdaSetClass | |
| { | | { | |
| GObjectClass parent_class; | | GObjectClass parent_class; | |
| | | | |
| GError *(*validate_holder_change)(GdaSet *set, GdaHold
er *holder, const GValue *new_value); | | GError *(*validate_holder_change)(GdaSet *set, GdaHold
er *holder, const GValue *new_value); | |
| GError *(*validate_set) (GdaSet *set); | | GError *(*validate_set) (GdaSet *set); | |
| void (*holder_changed) (GdaSet *set, GdaHold
er *holder); | | void (*holder_changed) (GdaSet *set, GdaHold
er *holder); | |
| void (*holder_attr_changed) (GdaSet *set, GdaHold
er *holder, | | void (*holder_attr_changed) (GdaSet *set, GdaHold
er *holder, | |
| const gchar *attr_na
me, const GValue *attr_value); | | const gchar *attr_na
me, const GValue *attr_value); | |
| void (*public_data_changed) (GdaSet *set); | | void (*public_data_changed) (GdaSet *set); | |
|
| | | void (*holder_type_set) (GdaSet *set, GdaHold | |
| | | er *holder); | |
| | | void (*source_model_changed) (GdaSet *set, GdaSetS | |
| | | ource *source); | |
| | | | |
| /*< private >*/ | | /*< private >*/ | |
| /* Padding for future expansion */ | | /* Padding for future expansion */ | |
|
| void (*_gda_reserved1) (void); | | | |
| void (*_gda_reserved2) (void); | | | |
| void (*_gda_reserved3) (void); | | void (*_gda_reserved3) (void); | |
| void (*_gda_reserved4) (void); | | void (*_gda_reserved4) (void); | |
| }; | | }; | |
| | | | |
| GType gda_set_get_type (void) G_GNUC_CONST; | | GType gda_set_get_type (void) G_GNUC_CONST; | |
| GdaSet *gda_set_new (GSList *holders); | | GdaSet *gda_set_new (GSList *holders); | |
| GdaSet *gda_set_copy (GdaSet *set); | | GdaSet *gda_set_copy (GdaSet *set); | |
| GdaSet *gda_set_new_inline (gint nb, ...); | | GdaSet *gda_set_new_inline (gint nb, ...); | |
| | | | |
| GdaSet *gda_set_new_from_spec_string (const gchar *xml_spec, GErr
or **error); | | GdaSet *gda_set_new_from_spec_string (const gchar *xml_spec, GErr
or **error); | |
| | | | |
| skipping to change at line 129 | | skipping to change at line 133 | |
| | | | |
| gboolean gda_set_set_holder_value (GdaSet *set, GError **error
, const gchar *holder_id, ...); | | gboolean gda_set_set_holder_value (GdaSet *set, GError **error
, const gchar *holder_id, ...); | |
| const GValue *gda_set_get_holder_value (GdaSet *set, const gchar *h
older_id); | | const GValue *gda_set_get_holder_value (GdaSet *set, const gchar *h
older_id); | |
| GdaHolder *gda_set_get_holder (GdaSet *set, const gchar *h
older_id); | | GdaHolder *gda_set_get_holder (GdaSet *set, const gchar *h
older_id); | |
| GdaHolder *gda_set_get_nth_holder (GdaSet *set, gint pos); | | GdaHolder *gda_set_get_nth_holder (GdaSet *set, gint pos); | |
| gboolean gda_set_add_holder (GdaSet *set, GdaHolder *hol
der); | | gboolean gda_set_add_holder (GdaSet *set, GdaHolder *hol
der); | |
| void gda_set_remove_holder (GdaSet *set, GdaHolder *hol
der); | | void gda_set_remove_holder (GdaSet *set, GdaHolder *hol
der); | |
| void gda_set_merge_with_set (GdaSet *set, GdaSet *set_to
_merge); | | void gda_set_merge_with_set (GdaSet *set, GdaSet *set_to
_merge); | |
| gboolean gda_set_is_valid (GdaSet *set, GError **error
); | | gboolean gda_set_is_valid (GdaSet *set, GError **error
); | |
| | | | |
|
| | | void gda_set_replace_source_model (GdaSet *set, GdaSetSource * | |
| | | source, | |
| | | GdaDataModel *model); | |
| | | | |
| /* public data lookup functions */ | | /* public data lookup functions */ | |
| GdaSetNode *gda_set_get_node (GdaSet *set, GdaHolder *hol
der); | | GdaSetNode *gda_set_get_node (GdaSet *set, GdaHolder *hol
der); | |
| GdaSetSource *gda_set_get_source_for_model (GdaSet *set, GdaDataModel *
model); | | GdaSetSource *gda_set_get_source_for_model (GdaSet *set, GdaDataModel *
model); | |
| GdaSetSource *gda_set_get_source (GdaSet *set, GdaHolder *hol
der); | | GdaSetSource *gda_set_get_source (GdaSet *set, GdaHolder *hol
der); | |
| GdaSetGroup *gda_set_get_group (GdaSet *set, GdaHolder *hol
der); | | GdaSetGroup *gda_set_get_group (GdaSet *set, GdaHolder *hol
der); | |
| | | | |
| /* private */ | | /* private */ | |
| gboolean _gda_set_validate (GdaSet *set, GError **error
); | | gboolean _gda_set_validate (GdaSet *set, GError **error
); | |
|
| | | GdaSet * _gda_set_new_read_only (GSList *holders); | |
| | | | |
| G_END_DECLS | | G_END_DECLS | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 8 change blocks. |
| 3 lines changed or deleted | | 14 lines changed or added | |
|
| gda-thread-wrapper.h | | gda-thread-wrapper.h | |
| | | | |
| skipping to change at line 57 | | skipping to change at line 57 | |
| } GdaThreadWrapperError; | | } GdaThreadWrapperError; | |
| | | | |
| struct _GdaThreadWrapper { | | struct _GdaThreadWrapper { | |
| GObject object; | | GObject object; | |
| GdaThreadWrapperPrivate *priv; | | GdaThreadWrapperPrivate *priv; | |
| }; | | }; | |
| | | | |
| struct _GdaThreadWrapperClass { | | struct _GdaThreadWrapperClass { | |
| GObjectClass object_class; | | GObjectClass object_class; | |
| | | | |
|
| | | /*< private >*/ | |
| /* Padding for future expansion */ | | /* Padding for future expansion */ | |
| void (*_gda_reserved1) (void); | | void (*_gda_reserved1) (void); | |
| void (*_gda_reserved2) (void); | | void (*_gda_reserved2) (void); | |
| void (*_gda_reserved3) (void); | | void (*_gda_reserved3) (void); | |
| void (*_gda_reserved4) (void); | | void (*_gda_reserved4) (void); | |
| }; | | }; | |
| | | | |
| typedef gpointer (*GdaThreadWrapperFunc) (gpointer arg, GError **error); | | typedef gpointer (*GdaThreadWrapperFunc) (gpointer arg, GError **error); | |
| typedef void (*GdaThreadWrapperVoidFunc) (gpointer arg, GError **error); | | typedef void (*GdaThreadWrapperVoidFunc) (gpointer arg, GError **error); | |
| typedef void (*GdaThreadWrapperCallback) (GdaThreadWrapper *wrapper, gpoint
er instance, const gchar *signame, | | typedef void (*GdaThreadWrapperCallback) (GdaThreadWrapper *wrapper, gpoint
er instance, const gchar *signame, | |
| | | | |
| skipping to change at line 86 | | skipping to change at line 87 | |
| gpointer arg, G
DestroyNotify arg_destroy_func, GError **error); | | gpointer arg, G
DestroyNotify arg_destroy_func, GError **error); | |
| gboolean gda_thread_wrapper_cancel (GdaThreadWrapp
er *wrapper, guint id); | | gboolean gda_thread_wrapper_cancel (GdaThreadWrapp
er *wrapper, guint id); | |
| void gda_thread_wrapper_iterate (GdaThreadWrapp
er *wrapper, gboolean may_block); | | void gda_thread_wrapper_iterate (GdaThreadWrapp
er *wrapper, gboolean may_block); | |
| gpointer gda_thread_wrapper_fetch_result (GdaThreadWrapp
er *wrapper, gboolean may_lock, | | gpointer gda_thread_wrapper_fetch_result (GdaThreadWrapp
er *wrapper, gboolean may_lock, | |
| guint exp_id, G
Error **error); | | guint exp_id, G
Error **error); | |
| | | | |
| gint gda_thread_wrapper_get_waiting_size (GdaThreadWrappe
r *wrapper); | | gint gda_thread_wrapper_get_waiting_size (GdaThreadWrappe
r *wrapper); | |
| | | | |
| gulong gda_thread_wrapper_connect_raw (GdaThreadWrapp
er *wrapper, | | gulong gda_thread_wrapper_connect_raw (GdaThreadWrapp
er *wrapper, | |
| gpointer instan
ce, | | gpointer instan
ce, | |
|
| const gchar *si | | const gchar *si | |
| g_name, gboolean private, | | g_name, | |
| | | gboolean privat | |
| | | e_thread, gboolean private_job, | |
| GdaThreadWrappe
rCallback callback, | | GdaThreadWrappe
rCallback callback, | |
| gpointer data); | | gpointer data); | |
| void gda_thread_wrapper_disconnect (GdaThreadWrappe
r *wrapper, gulong id); | | void gda_thread_wrapper_disconnect (GdaThreadWrappe
r *wrapper, gulong id); | |
| void gda_thread_wrapper_steal_signal (GdaThreadWrappe
r *wrapper, gulong id); | | void gda_thread_wrapper_steal_signal (GdaThreadWrappe
r *wrapper, gulong id); | |
| G_END_DECLS | | G_END_DECLS | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 2 change blocks. |
| 2 lines changed or deleted | | 5 lines changed or added | |
|
| gda-util.h | | gda-util.h | |
| /* GDA common library | | /* GDA common library | |
|
| * Copyright (C) 1998 - 2009 The GNOME Foundation. | | * Copyright (C) 1998 - 2010 The GNOME Foundation. | |
| * | | * | |
| * AUTHORS: | | * AUTHORS: | |
| * Rodrigo Moya <rodrigo@gnome-db.org> | | * Rodrigo Moya <rodrigo@gnome-db.org> | |
| * Vivien Malerba <malerba@gnome-db.org> | | * Vivien Malerba <malerba@gnome-db.org> | |
| * | | * | |
| * This Library is free software; you can redistribute it and/or | | * This Library is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU Library General Public License as | | * modify it under the terms of the GNU Library General Public License as | |
| * published by the Free Software Foundation; either version 2 of the | | * published by the Free Software Foundation; either version 2 of the | |
| * License, or (at your option) any later version. | | * License, or (at your option) any later version. | |
| * | | * | |
| | | | |
| skipping to change at line 64 | | skipping to change at line 64 | |
| /* | | /* | |
| * Param & model utilities | | * Param & model utilities | |
| */ | | */ | |
| gboolean gda_utility_check_data_model (GdaDataModel *model, gint nbcols
, ...); | | gboolean gda_utility_check_data_model (GdaDataModel *model, gint nbcols
, ...); | |
| gboolean gda_utility_data_model_dump_data_to_xml (GdaDataModel *model,
xmlNodePtr parent, | | gboolean gda_utility_data_model_dump_data_to_xml (GdaDataModel *model,
xmlNodePtr parent, | |
| const gint *cols, gint nb_cols
, const gint *rows, gint nb_rows, | | const gint *cols, gint nb_cols
, const gint *rows, gint nb_rows, | |
| gboolean use_col_ids); | | gboolean use_col_ids); | |
| const gchar *gda_utility_data_model_find_column_description (GdaDataSelect
*model, const gchar *field_name); | | const gchar *gda_utility_data_model_find_column_description (GdaDataSelect
*model, const gchar *field_name); | |
| gboolean gda_utility_holder_load_attributes (GdaHolder *holder, xmlNode
Ptr node, GSList *sources, GError **error); | | gboolean gda_utility_holder_load_attributes (GdaHolder *holder, xmlNode
Ptr node, GSList *sources, GError **error); | |
| | | | |
|
| | | GdaSqlStatement *gda_statement_rewrite_for_default_values (GdaStatement *st | |
| | | mt, GdaSet *params, | |
| | | gboolean remove, | |
| | | GError **error); | |
| | | | |
| /* | | /* | |
| * translate any text to an alphanumerical text | | * translate any text to an alphanumerical text | |
| */ | | */ | |
| gchar *gda_text_to_alphanum (const gchar *text); | | gchar *gda_text_to_alphanum (const gchar *text); | |
| gchar *gda_alphanum_to_text (gchar *text); | | gchar *gda_alphanum_to_text (gchar *text); | |
| | | | |
| /* | | /* | |
| * Statement computation from meta store | | * Statement computation from meta store | |
| */ | | */ | |
| GdaSqlExpr *gda_compute_unique_table_row_condition (GdaSqlStatementSel
ect *stsel, GdaMetaTable *mtable, | | GdaSqlExpr *gda_compute_unique_table_row_condition (GdaSqlStatementSel
ect *stsel, GdaMetaTable *mtable, | |
| | | | |
End of changes. 2 change blocks. |
| 1 lines changed or deleted | | 6 lines changed or added | |
|
| gda-value.h | | gda-value.h | |
| | | | |
| skipping to change at line 182 | | skipping to change at line 182 | |
| | | | |
| /* Custom data types */ | | /* Custom data types */ | |
| | | | |
| GType gda_numeric_get_type (void) G_GNUC_CONST; | | GType gda_numeric_get_type (void) G_GNUC_CONST; | |
| gpointer gda_numeric_copy (gpointer boxed); | | gpointer gda_numeric_copy (gpointer boxed); | |
| void gda_numeric_free (gpointer boxed); | | void gda_numeric_free (gpointer boxed); | |
| | | | |
| GType gda_time_get_type (void) G_GNUC_CONST; | | GType gda_time_get_type (void) G_GNUC_CONST; | |
| gpointer gda_time_copy (gpointer boxed); | | gpointer gda_time_copy (gpointer boxed); | |
| void gda_time_free (gpointer boxed); | | void gda_time_free (gpointer boxed); | |
|
| | | gboolean gda_time_valid (const GdaTime *time); | |
| | | | |
| GType gda_timestamp_get_type (void) G_GNUC_CONS
T; | | GType gda_timestamp_get_type (void) G_GNUC_CONS
T; | |
| gpointer gda_timestamp_copy (gpointer boxed); | | gpointer gda_timestamp_copy (gpointer boxed); | |
| void gda_timestamp_free (gpointer boxed); | | void gda_timestamp_free (gpointer boxed); | |
|
| | | gboolean gda_timestamp_valid (const GdaTimestamp *
timestamp); | |
| | | | |
| GType gda_geometricpoint_get_type (void) G_GNUC
_CONST; | | GType gda_geometricpoint_get_type (void) G_GNUC
_CONST; | |
| gpointer gda_geometricpoint_copy (gpointer boxed); | | gpointer gda_geometricpoint_copy (gpointer boxed); | |
| void gda_geometricpoint_free (gpointer boxed); | | void gda_geometricpoint_free (gpointer boxed); | |
| | | | |
| GType gda_binary_get_type (void) G_GNUC_CONST; | | GType gda_binary_get_type (void) G_GNUC_CONST; | |
| gpointer gda_binary_copy (gpointer boxed); | | gpointer gda_binary_copy (gpointer boxed); | |
| void gda_binary_free (gpointer boxed); | | void gda_binary_free (gpointer boxed); | |
| | | | |
| GType gda_blob_get_type (void) G_GNUC_CONST; | | GType gda_blob_get_type (void) G_GNUC_CONST; | |
| | | | |
End of changes. 2 change blocks. |
| 0 lines changed or deleted | | 2 lines changed or added | |
|
| gdaui-data-entry.h | | gdaui-data-entry.h | |
| /* gdaui-data-entry.h | | /* gdaui-data-entry.h | |
| * | | * | |
|
| * Copyright (C) 2009 Vivien Malerba | | * Copyright (C) 2009 - 2010 Vivien Malerba | |
| * | | * | |
| * This Library is free software; you can redistribute it and/or | | * This Library is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU Library General Public License as | | * modify it under the terms of the GNU Library General Public License as | |
| * published by the Free Software Foundation; either version 2 of the | | * published by the Free Software Foundation; either version 2 of the | |
| * License, or (at your option) any later version. | | * License, or (at your option) any later version. | |
| * | | * | |
| * This program is distributed in the hope that it will be useful, | | * This program is distributed in the hope that it will be useful, | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| * GNU Library General Public License for more details. | | * GNU Library General Public License for more details. | |
| | | | |
| skipping to change at line 60 | | skipping to change at line 60 | |
| void (*set_value_type) (GdauiDataEntry *de, GType
type); | | void (*set_value_type) (GdauiDataEntry *de, GType
type); | |
| GType (*get_value_type) (GdauiDataEntry *de); | | GType (*get_value_type) (GdauiDataEntry *de); | |
| void (*set_value) (GdauiDataEntry *de, const
GValue * value); | | void (*set_value) (GdauiDataEntry *de, const
GValue * value); | |
| GValue *(*get_value) (GdauiDataEntry *de); | | GValue *(*get_value) (GdauiDataEntry *de); | |
| void (*set_ref_value) (GdauiDataEntry *de, const
GValue * value); | | void (*set_ref_value) (GdauiDataEntry *de, const
GValue * value); | |
| const GValue *(*get_ref_value) (GdauiDataEntry *de); | | const GValue *(*get_ref_value) (GdauiDataEntry *de); | |
| void (*set_value_default) (GdauiDataEntry *de, const
GValue * value); | | void (*set_value_default) (GdauiDataEntry *de, const
GValue * value); | |
| void (*set_attributes) (GdauiDataEntry *de, GdaVal
ueAttribute attrs, GdaValueAttribute mask); | | void (*set_attributes) (GdauiDataEntry *de, GdaVal
ueAttribute attrs, GdaValueAttribute mask); | |
| GdaValueAttribute (*get_attributes) (GdauiDataEntry *de); | | GdaValueAttribute (*get_attributes) (GdauiDataEntry *de); | |
| GdaDataHandler *(*get_handler) (GdauiDataEntry *de); | | GdaDataHandler *(*get_handler) (GdauiDataEntry *de); | |
|
| gboolean (*expand_in_layout) (GdauiDataEntry *de); | | gboolean (*can_expand) (GdauiDataEntry *de, gboole
an horiz); | |
| void (*set_editable) (GdauiDataEntry *de, gboole
an editable); | | void (*set_editable) (GdauiDataEntry *de, gboole
an editable); | |
| gboolean (*get_editable) (GdauiDataEntry *de); | | gboolean (*get_editable) (GdauiDataEntry *de); | |
| void (*grab_focus) (GdauiDataEntry *de); | | void (*grab_focus) (GdauiDataEntry *de); | |
| | | | |
|
| | | /* another signal */ | |
| | | void (* expand_changed) (GdauiDataEntry *de); | |
| | | | |
| /*< private >*/ | | /*< private >*/ | |
| /* Padding for future expansion */ | | /* Padding for future expansion */ | |
|
| void (*_gdaui_reserved1) (void); | | | |
| void (*_gdaui_reserved2) (void); | | void (*_gdaui_reserved2) (void); | |
| void (*_gdaui_reserved3) (void); | | void (*_gdaui_reserved3) (void); | |
| void (*_gdaui_reserved4) (void); | | void (*_gdaui_reserved4) (void); | |
| }; | | }; | |
| | | | |
| GType gdaui_data_entry_get_type (void) G_GNUC_CONST
; | | GType gdaui_data_entry_get_type (void) G_GNUC_CONST
; | |
| | | | |
| void gdaui_data_entry_set_value_type (GdauiDataEntry *de
, GType type); | | void gdaui_data_entry_set_value_type (GdauiDataEntry *de
, GType type); | |
| GType gdaui_data_entry_get_value_type (GdauiDataEntry *de
); | | GType gdaui_data_entry_get_value_type (GdauiDataEntry *de
); | |
| | | | |
| void gdaui_data_entry_set_value (GdauiDataEntry *de
, const GValue *value); | | void gdaui_data_entry_set_value (GdauiDataEntry *de
, const GValue *value); | |
| GValue *gdaui_data_entry_get_value (GdauiDataEntry *de
); | | GValue *gdaui_data_entry_get_value (GdauiDataEntry *de
); | |
| gboolean gdaui_data_entry_content_is_valid (GdauiDataEntry *de
, GError **error); | | gboolean gdaui_data_entry_content_is_valid (GdauiDataEntry *de
, GError **error); | |
| void gdaui_data_entry_set_reference_value (GdauiDataEntry *de
, const GValue *value); | | void gdaui_data_entry_set_reference_value (GdauiDataEntry *de
, const GValue *value); | |
|
| const GValue *gdaui_data_entry_get_original_value (GdauiDataEntry *de | | const GValue *gdaui_data_entry_get_reference_value (GdauiDataEntry *de | |
| ); | | ); | |
| void gdaui_data_entry_reset (GdauiDataEntry *de | | void gdaui_data_entry_set_reference_current (GdauiDataEntry *de | |
| ); | | ); | |
| void gdaui_data_entry_set_value_default (GdauiDataEntry *de | | void gdaui_data_entry_set_default_value (GdauiDataEntry *de | |
| , const GValue *value); | | , const GValue *value); | |
| | | | |
| void gdaui_data_entry_set_attributes (GdauiDataEntry *de
, GdaValueAttribute attrs, | | void gdaui_data_entry_set_attributes (GdauiDataEntry *de
, GdaValueAttribute attrs, | |
| GdaValueAttribute m
ask); | | GdaValueAttribute m
ask); | |
| GdaValueAttribute gdaui_data_entry_get_attributes (GdauiDataEntry *de
); | | GdaValueAttribute gdaui_data_entry_get_attributes (GdauiDataEntry *de
); | |
| | | | |
| GdaDataHandler *gdaui_data_entry_get_handler (GdauiDataEntry *de
); | | GdaDataHandler *gdaui_data_entry_get_handler (GdauiDataEntry *de
); | |
|
| gboolean gdaui_data_entry_expand_in_layout (GdauiDataEntry *de
); | | gboolean gdaui_data_entry_can_expand (GdauiDataEntry *de
, gboolean horiz); | |
| void gdaui_data_entry_set_editable (GdauiDataEntry *de
, gboolean editable); | | void gdaui_data_entry_set_editable (GdauiDataEntry *de
, gboolean editable); | |
| gboolean gdaui_data_entry_get_editable (GdauiDataEntry *de
); | | gboolean gdaui_data_entry_get_editable (GdauiDataEntry *de
); | |
| void gdaui_data_entry_grab_focus (GdauiDataEntry *de
); | | void gdaui_data_entry_grab_focus (GdauiDataEntry *de
); | |
| | | | |
|
| /* TO remove and replace with properties: | | | |
| * gdaui_data_entry_expand_in_layout | | | |
| * gdaui_data_entry_get_handler | | | |
| * gdaui_data_entry_set_attributes | | | |
| * gdaui_data_entry_get_attributes | | | |
| * gdaui_data_entry_set_value_default | | | |
| * | | | |
| * Don't replace at all: | | | |
| * gdaui_data_entry_grab_focus | | | |
| */ | | | |
| | | | |
| G_END_DECLS | | G_END_DECLS | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 7 change blocks. |
| 21 lines changed or deleted | | 12 lines changed or added | |
|