TcamProp

This page describes the official gobject-introspection API.

Note

The current version of this API is 0.1

Base Object

All tiscamera gstreamer elements implement the TcamProp interface. This interface allows access to all properties that the camera and software offer, as well as possibilities for device discovery.

TcamProp

This object is typically a converted gstreamer element like tcambin or tcamautoexposure.

GSList

In tcamprop this is always a list with element-type utf8 which has to be deallocated via:

Example:

GSList* list = tcam_prop_get_device_serials( self );

// ... do sth with list

g_slist_free_full( list, ::g_free );
GValue

GObject based variant type, used as arguments.

Note: If you receive out-parameter with this, the caller is responsible of clearing the contents via g_value_unset(&var)

Example:

GValue value = G_VALUE_INIT;
GValue group = G_VALUE_INIT;

gboolean res = tcam_prop_get_tcam_property( self, "Gain", &value, ..., &group );
if( res ) {
    // ... stuff
}
g_value_unset( &value );
g_value_unset( &group );

Device Discovery

The following functions can be used for device discovery. Only tcamsrc and tcambin implement these.

GSList* tcam_prop_get_device_serials(TcamProp* self)

@self: a #TcamProp

Retrieve a list of all connected device serial numbers

Returns: (element-type utf8) (transfer full): a #GSList

gboolean tcam_prop_get_device_info(TcamProp* self, const char* serial, char** name, char** identifier, char** connection_type)
@self: a #TcamProp
@serial: (in): serial number of camera to query
@name: (out) (optional): location to store an allocated string.
Use g_free() to free the returned string
@identifier: (out) (optional): location to store an allocated string.
Use g_free() to free the returned string
@connection_type: (out) (optional): location to store an allocated string.
Use g_free() to free the returned string

Get details of a given camera.

Returns: True on success

GSList* tcam_prop_get_device_serials_backend(TcamProp* self)

@self: a #TcamProp

Retrieve a list of all connected device serial numbers with the backend appended

Retrieved serials may appear multiple times but with different backends.
The format will always be <serial>-<backend>.
The contained strings will have to be freed by the user.
Call g_slist_free_full(<list_var>, ::g_free) to clear the list and the contained strings.

Returns: (element-type utf8) (transfer full): a #GSList

Property I/O

tcam_prop_get_tcam_property_names

GSList* tcam_prop_get_tcam_property_names(TcamProp* self)

Retrieve a list of all currently available properties.

@self: a #TcamProp

Returns: (element-type utf8) (transfer full): a #GSList

tcam_prop_get_tcam_property

gboolean tcam_prop_get_tcam_property(TcamProp* self, const gchar* name, GValue* value, GValue* min, GValue* max, GValue* def, GValue* step, GValue* type, GValue* flags, GValue* category, GValue* group)

Queries the specified property for its value, range, etc.

@self: Pointer to #TcamProp instance that shall be queried.

@name: Name of the property to query.

Returns: A gboolean. TRUE if query could be answered and values filled.

Arguments
Name Type Description In/Out Optional
self TcamProp   In No
name const char* identifying the property to query In No
value GValue*   Out Yes
min GValue*   Out Yes
max GValue*   Out Yes
def GValue*   Out Yes
step GValue*   Out Yes
type GValue*   Out Yes
flags GValue*   Out Yes
category GValue*   Out Yes
group GValue*   Out Yes

tcam_prop_get_tcam_menu_entries

GSList* tcam_prop_get_tcam_menu_entries(TcamProp* self, const gchar* name)

If the specified property is a string list, this returnes the available string entries.

@self: Pointer to #TcamProp instance that shall be queried.

@name: Name of the property for which the menu entries shall be returned.

Returns: A pointer to a #GSList containing the c-strings of all entries. (element-type utf8) (transfer full): a #GSList

tcam_prop_set_tcam_property

gboolean tcam_prop_set_tcam_property(TcamProp* self, const gchar* name, const GValue* value)

@self: Pointer to #TcamProp instance that shall be queried.

@name: Name of the property.

@value: Value that shall be set

Returns: TRUE if setting this property was successful, otherwise FALSE.

tcam_prop_get_tcam_property_type

const gchar* tcam_prop_get_tcam_property_type(TcamProp* self, const gchar* name)

Deprecated!

Returns the ‘type’ of the specified property.

@self: Pointer to #TcamProp instance that shall be queried.

@name: Name of the property.

Returns: A pointer to a c-string containing the type of the requested property. Returns NULL when property does not exist.