# rtsp permissions

The GstRTSPPermissions object contains an array of roles and associated permissions. The roles are represented with a string and the permissions with a generic GstStructure.

The permissions are deliberately kept generic. The possible values of the roles and GstStructure keys and values are only determined by the GstRTSPAuth object that performs the checks on the permissions and the current GstRTSPToken.

As a convenience function, gst_rtsp_permissions_is_allowed can be used to check if the permissions contains a role that contains the boolean value TRUE for the the given key.

Last reviewed on 2013-07-15 (1.0.0)

## GstRTSPPermissions

The opaque permissions structure. It is used to define the permissions of objects in different roles.

### Members

`mini_object` (GstMiniObject) –
No description available

## GstRtspServer.RTSPPermissions

The opaque permissions structure. It is used to define the permissions of objects in different roles.

### Members

`mini_object` (Gst.MiniObject) –
No description available

## GstRtspServer.RTSPPermissions

The opaque permissions structure. It is used to define the permissions of objects in different roles.

### Members

`mini_object` (Gst.MiniObject) –
No description available

### Constructors

#### gst_rtsp_permissions_new

    GstRTSPPermissions *
    gst_rtsp_permissions_new ()

Create a new empty Authorization permissions.

Returns ( [transfer: full] ) –

a new empty authorization permissions.

#### GstRtspServer.RTSPPermissions.prototype.new

    function GstRtspServer.RTSPPermissions.prototype.new(): {
        // javascript wrapper for 'gst_rtsp_permissions_new'
    }

Create a new empty Authorization permissions.

Returns ( GstRtspServer.RTSPPermissions ) –

a new empty authorization permissions.

#### GstRtspServer.RTSPPermissions.new

    def GstRtspServer.RTSPPermissions.new ():
        #python wrapper for 'gst_rtsp_permissions_new'

Create a new empty Authorization permissions.

Returns ( GstRtspServer.RTSPPermissions ) –

a new empty authorization permissions.

### Methods

#### gst_rtsp_permissions_add_permission_for_role

    gst_rtsp_permissions_add_permission_for_role (GstRTSPPermissions * permissions,
                                                  const gchar * role,
                                                  const gchar * permission,
                                                  gboolean allowed)

Add a new permission for role to permissions with the access in allowed.

Parameters:

`permissions` –

a GstRTSPPermissions

`role` –

a role

`permission` –

the permission

`allowed` –

whether the role has this permission or not

Since : 1.14

#### GstRtspServer.RTSPPermissions.prototype.add_permission_for_role

    function GstRtspServer.RTSPPermissions.prototype.add_permission_for_role(role: String, permission: String, allowed: Number): {
        // javascript wrapper for 'gst_rtsp_permissions_add_permission_for_role'
    }

Add a new permission for role to permissions with the access in allowed.

Parameters:

`permissions` ( GstRtspServer.RTSPPermissions ) –

a GstRtspServer.RTSPPermissions

`role` ( String ) –

a role

`permission` ( String ) –

the permission

`allowed` ( Number ) –

whether the role has this permission or not

Since : 1.14

#### GstRtspServer.RTSPPermissions.add_permission_for_role

    def GstRtspServer.RTSPPermissions.add_permission_for_role (self, role, permission, allowed):
        #python wrapper for 'gst_rtsp_permissions_add_permission_for_role'

Add a new permission for role to permissions with the access in allowed.

Parameters:

`permissions` ( GstRtspServer.RTSPPermissions ) –

a GstRtspServer.RTSPPermissions

`role` ( str ) –

a role

`permission` ( str ) –

the permission

`allowed` ( bool ) –

whether the role has this permission or not

Since : 1.14

#### gst_rtsp_permissions_add_role

    gst_rtsp_permissions_add_role (GstRTSPPermissions * permissions,
                                   const gchar * role,
                                   const gchar * fieldname,
                                   ... ...)

Add a new role to permissions with the given variables. The fields are the same layout as gst_structure_new.

Parameters:

`permissions` –

a GstRTSPPermissions

`role` –

a role

`fieldname` –

the first field name

`...` –

additional arguments

#### gst_rtsp_permissions_add_role_empty

    gst_rtsp_permissions_add_role_empty (GstRTSPPermissions * permissions,
                                         const gchar * role)

Add a new role to permissions without any permissions. You can add permissions for the role with gst_rtsp_permissions_add_permission_for_role.

Parameters:

`permissions` –

a GstRTSPPermissions

`role` –

a role

Since : 1.14

#### GstRtspServer.RTSPPermissions.prototype.add_role_empty

    function GstRtspServer.RTSPPermissions.prototype.add_role_empty(role: String): {
        // javascript wrapper for 'gst_rtsp_permissions_add_role_empty'
    }

Add a new role to permissions without any permissions. You can add permissions for the role with GstRtspServer.RTSPPermissions.prototype.add_permission_for_role.

Parameters:

`permissions` ( GstRtspServer.RTSPPermissions ) –

a GstRtspServer.RTSPPermissions

`role` ( String ) –

a role

Since : 1.14

#### GstRtspServer.RTSPPermissions.add_role_empty

    def GstRtspServer.RTSPPermissions.add_role_empty (self, role):
        #python wrapper for 'gst_rtsp_permissions_add_role_empty'

Add a new role to permissions without any permissions. You can add permissions for the role with GstRtspServer.RTSPPermissions.add_permission_for_role.

Parameters:

`permissions` ( GstRtspServer.RTSPPermissions ) –

a GstRtspServer.RTSPPermissions

`role` ( str ) –

a role

Since : 1.14

#### gst_rtsp_permissions_add_role_from_structure

    gst_rtsp_permissions_add_role_from_structure (GstRTSPPermissions * permissions,
                                                  GstStructure * structure)

Add a new role to permissions based on structure, for example given a role named `tester`, which should be granted a permission named `permission1`, the structure could be created with:

    gst_structure_new ("tester", "permission1", G_TYPE_BOOLEAN, TRUE, NULL);

Parameters:

`permissions` –
No description available
`structure` –
No description available

Since : 1.14

#### GstRtspServer.RTSPPermissions.prototype.add_role_from_structure

    function GstRtspServer.RTSPPermissions.prototype.add_role_from_structure(structure: Gst.Structure): {
        // javascript wrapper for 'gst_rtsp_permissions_add_role_from_structure'
    }

Add a new role to permissions based on structure, for example given a role named `tester`, which should be granted a permission named `permission1`, the structure could be created with:

    gst_structure_new ("tester", "permission1", G_TYPE_BOOLEAN, TRUE, NULL);

Parameters:

`permissions` ( GstRtspServer.RTSPPermissions ) –
No description available
`structure` ( Gst.Structure ) –
No description available

Since : 1.14

#### GstRtspServer.RTSPPermissions.add_role_from_structure

    def GstRtspServer.RTSPPermissions.add_role_from_structure (self, structure):
        #python wrapper for 'gst_rtsp_permissions_add_role_from_structure'

Add a new role to permissions based on structure, for example given a role named `tester`, which should be granted a permission named `permission1`, the structure could be created with:

    gst_structure_new ("tester", "permission1", G_TYPE_BOOLEAN, TRUE, NULL);

Parameters:

`permissions` ( GstRtspServer.RTSPPermissions ) –
No description available
`structure` ( Gst.Structure ) –
No description available

Since : 1.14

#### gst_rtsp_permissions_add_role_valist

    gst_rtsp_permissions_add_role_valist (GstRTSPPermissions * permissions,
                                          const gchar * role,
                                          const gchar * fieldname,
                                          va_list var_args)

Add a new role to permissions with the given variables. Structure fields are set according to the varargs in a manner similar to gst_structure_new.

Parameters:

`permissions` –

a GstRTSPPermissions

`role` –

a role

`fieldname` –

the first field name

`var_args` –

additional fields to add

#### gst_rtsp_permissions_get_role

    const GstStructure *
    gst_rtsp_permissions_get_role (GstRTSPPermissions * permissions,
                                   const gchar * role)

Get all permissions for role in permissions.

Parameters:

`permissions` –

a GstRTSPPermissions

`role` –

a role

Returns ( [transfer: none] ) –

the structure with permissions for role. It remains valid for as long as permissions is valid.

#### GstRtspServer.RTSPPermissions.prototype.get_role

    function GstRtspServer.RTSPPermissions.prototype.get_role(role: String): {
        // javascript wrapper for 'gst_rtsp_permissions_get_role'
    }

Get all permissions for role in permissions.

Parameters:

`permissions` ( GstRtspServer.RTSPPermissions ) –

a GstRtspServer.RTSPPermissions

`role` ( String ) –

a role

Returns ( Gst.Structure ) –

the structure with permissions for role. It remains valid for as long as permissions is valid.

#### GstRtspServer.RTSPPermissions.get_role

    def GstRtspServer.RTSPPermissions.get_role (self, role):
        #python wrapper for 'gst_rtsp_permissions_get_role'

Get all permissions for role in permissions.

Parameters:

`permissions` ( GstRtspServer.RTSPPermissions ) –

a GstRtspServer.RTSPPermissions

`role` ( str ) –

a role

Returns ( Gst.Structure ) –

the structure with permissions for role. It remains valid for as long as permissions is valid.

#### gst_rtsp_permissions_is_allowed

    gboolean
    gst_rtsp_permissions_is_allowed (GstRTSPPermissions * permissions,
                                     const gchar * role,
                                     const gchar * permission)

Check if role in permissions is given permission for permission.

Parameters:

`permissions` –

a GstRTSPPermissions

`role` –

a role

`permission` –

a permission

Returns –

TRUE if role is allowed permission.

#### GstRtspServer.RTSPPermissions.prototype.is_allowed

    function GstRtspServer.RTSPPermissions.prototype.is_allowed(role: String, permission: String): {
        // javascript wrapper for 'gst_rtsp_permissions_is_allowed'
    }

Check if role in permissions is given permission for permission.

Parameters:

`permissions` ( GstRtspServer.RTSPPermissions ) –

a GstRtspServer.RTSPPermissions

`role` ( String ) –

a role

`permission` ( String ) –

a permission

Returns ( Number ) –

true if role is allowed permission.

#### GstRtspServer.RTSPPermissions.is_allowed

    def GstRtspServer.RTSPPermissions.is_allowed (self, role, permission):
        #python wrapper for 'gst_rtsp_permissions_is_allowed'

Check if role in permissions is given permission for permission.

Parameters:

`permissions` ( GstRtspServer.RTSPPermissions ) –

a GstRtspServer.RTSPPermissions

`role` ( str ) –

a role

`permission` ( str ) –

a permission

Returns ( bool ) –

True if role is allowed permission.

#### gst_rtsp_permissions_remove_role

    gst_rtsp_permissions_remove_role (GstRTSPPermissions * permissions,
                                      const gchar * role)

Remove all permissions for role in permissions.

Parameters:

`permissions` –

a GstRTSPPermissions

`role` –

a role

#### GstRtspServer.RTSPPermissions.prototype.remove_role

    function GstRtspServer.RTSPPermissions.prototype.remove_role(role: String): {
        // javascript wrapper for 'gst_rtsp_permissions_remove_role'
    }

Remove all permissions for role in permissions.

Parameters:

`permissions` ( GstRtspServer.RTSPPermissions ) –

a GstRtspServer.RTSPPermissions

`role` ( String ) –

a role

#### GstRtspServer.RTSPPermissions.remove_role

    def GstRtspServer.RTSPPermissions.remove_role (self, role):
        #python wrapper for 'gst_rtsp_permissions_remove_role'

Remove all permissions for role in permissions.

Parameters:

`permissions` ( GstRtspServer.RTSPPermissions ) –

a GstRtspServer.RTSPPermissions

`role` ( str ) –

a role

## Function Macros

### GST_IS_RTSP_PERMISSIONS

    #define GST_IS_RTSP_PERMISSIONS(obj)     (GST_IS_MINI_OBJECT_TYPE (obj, GST_TYPE_RTSP_PERMISSIONS))

### GST_RTSP_PERMISSIONS

    #define GST_RTSP_PERMISSIONS(obj)        (GST_RTSP_PERMISSIONS_CAST(obj))

### GST_RTSP_PERMISSIONS_CAST

    #define GST_RTSP_PERMISSIONS_CAST(obj)   ((GstRTSPPermissions*)(obj))

## Constants

### GST_TYPE_RTSP_PERMISSIONS

    #define GST_TYPE_RTSP_PERMISSIONS        (gst_rtsp_permissions_get_type ())

The results of the search are