script: Document private functions

This commit is contained in:
Emmanuele Bassi 2009-11-06 14:07:26 +00:00
parent 30bc36082e
commit 179a66c922

View File

@ -1177,6 +1177,18 @@ clutter_script_list_objects (ClutterScript *script)
return retval; return retval;
} }
/*
* _clutter_script_generate_fake_id:
* @script: a #ClutterScript
*
* Generates a fake id string for object definitions without
* an "id" member
*
* Return value: a newly-allocated string containing the fake
* id. Use g_free() to free the resources allocated by the
* returned value
*
*/
gchar * gchar *
_clutter_script_generate_fake_id (ClutterScript *script) _clutter_script_generate_fake_id (ClutterScript *script)
{ {
@ -1187,6 +1199,16 @@ _clutter_script_generate_fake_id (ClutterScript *script)
priv->last_unknown++); priv->last_unknown++);
} }
/*
* _clutter_script_warn_missing_attribute:
* @script: a #ClutterScript
* @id: the id of an object definition, or %NULL
* @attribute: the expected attribute
*
* Emits a warning, using GLib's log facilities, for a missing
* @attribute in an object definition, pointing to the current
* location of the #ClutterScriptParser
*/
void void
_clutter_script_warn_missing_attribute (ClutterScript *script, _clutter_script_warn_missing_attribute (ClutterScript *script,
const gchar *id, const gchar *id,
@ -1194,12 +1216,13 @@ _clutter_script_warn_missing_attribute (ClutterScript *script,
{ {
ClutterScriptPrivate *priv = script->priv; ClutterScriptPrivate *priv = script->priv;
JsonParser *parser = JSON_PARSER (priv->parser); JsonParser *parser = JSON_PARSER (priv->parser);
gint current_line = json_parser_get_current_line (parser);
if (id != NULL && *id != '\0') if (id != NULL && *id != '\0')
{ {
g_warning ("%s:%d: object '%s' has no '%s' attribute", g_warning ("%s:%d: object '%s' has no '%s' attribute",
priv->is_filename ? priv->filename : "<input>", priv->is_filename ? priv->filename : "<input>",
json_parser_get_current_line (parser), current_line,
id, id,
attribute); attribute);
} }
@ -1207,11 +1230,22 @@ _clutter_script_warn_missing_attribute (ClutterScript *script,
{ {
g_warning ("%s:%d: object has no '%s' attribute", g_warning ("%s:%d: object has no '%s' attribute",
priv->is_filename ? priv->filename : "<input>", priv->is_filename ? priv->filename : "<input>",
json_parser_get_current_line (parser), current_line,
attribute); attribute);
} }
} }
/*
* _clutter_script_warn_invalid_value:
* @script: a #ClutterScript
* @attribute: the attribute with the invalid value
* @expected: a string with the expected value
* @node: a #JsonNode containing the value
*
* Emits a warning, using GLib's log facilities, for an invalid
* value found when parsing @attribute, pointing to the current
* location of the #ClutterScriptParser
*/
void void
_clutter_script_warn_invalid_value (ClutterScript *script, _clutter_script_warn_invalid_value (ClutterScript *script,
const gchar *attribute, const gchar *attribute,
@ -1220,13 +1254,14 @@ _clutter_script_warn_invalid_value (ClutterScript *script,
{ {
ClutterScriptPrivate *priv = script->priv; ClutterScriptPrivate *priv = script->priv;
JsonParser *parser = JSON_PARSER (priv->parser); JsonParser *parser = JSON_PARSER (priv->parser);
gint current_line = json_parser_get_current_line (parser);
if (node != NULL) if (node != NULL)
{ {
g_warning ("%s:%d: invalid value of type '%s' for attribute '%s':" g_warning ("%s:%d: invalid value of type '%s' for attribute '%s':"
"a value of type '%s' is expected", "a value of type '%s' is expected",
priv->is_filename ? priv->filename : "<input>", priv->is_filename ? priv->filename : "<input>",
json_parser_get_current_line (parser), current_line,
json_node_type_name (node), json_node_type_name (node),
attribute, attribute,
expected); expected);
@ -1236,12 +1271,21 @@ _clutter_script_warn_invalid_value (ClutterScript *script,
g_warning ("%s:%d: invalid value for attribute '%s':" g_warning ("%s:%d: invalid value for attribute '%s':"
"a value of type '%s' is expected", "a value of type '%s' is expected",
priv->is_filename ? priv->filename : "<input>", priv->is_filename ? priv->filename : "<input>",
json_parser_get_current_line (parser), current_line,
attribute, attribute,
expected); expected);
} }
} }
/*
* _clutter_script_get_object_info:
* @script: a #ClutterScript
* @script_id: the id of the object definition
*
* Retrieves the #ObjectInfo for the given @script_id
*
* Return value: a #ObjectInfo or %NULL
*/
ObjectInfo * ObjectInfo *
_clutter_script_get_object_info (ClutterScript *script, _clutter_script_get_object_info (ClutterScript *script,
const gchar *script_id) const gchar *script_id)
@ -1251,12 +1295,31 @@ _clutter_script_get_object_info (ClutterScript *script,
return g_hash_table_lookup (priv->objects, script_id); return g_hash_table_lookup (priv->objects, script_id);
} }
/*
* _clutter_script_get_last_merge_id:
* @script: a #ClutterScript
*
* Retrieves the last merge id of @script. The merge id
* should be stored inside an #ObjectInfo. If you need
* a unique fake id for object definitions with an "id"
* member, consider using _clutter_script_generate_fake_id()
* instead
*
* Return value: the last merge id
*/
guint guint
_clutter_script_get_last_merge_id (ClutterScript *script) _clutter_script_get_last_merge_id (ClutterScript *script)
{ {
return script->priv->last_merge_id; return script->priv->last_merge_id;
} }
/*
* _clutter_script_add_object_info:
* @script: a #ClutterScript
* @oinfo: a #ObjectInfo
*
* Adds @oinfo inside the objects list held by @script
*/
void void
_clutter_script_add_object_info (ClutterScript *script, _clutter_script_add_object_info (ClutterScript *script,
ObjectInfo *oinfo) ObjectInfo *oinfo)