Methods
SetPolicy | (s: Channel_Type, u: Policy) | → | nothing |
Signals
PolicyChanged | (a{su}: Changed_Policies) |
Properties
SupportedPolicies | a(asau) (Supported_Policy_List) | Read only | |
ActivePolicies | a{su} (Active_Policies_Map) | Read only |
Types
Access_Control_Type | Enum | u | |
Active_Policies_Map | Mapping | a{su} | |
Supported_Policy | Struct | (asau) |
Description
This interface supports controlling which contacts are allowed to initiate text chats, incoming calls, and other forms of communication as supported by the underlying protocol. The policies supported for different communication methods on this connection are listed in the SupportedPolicies property. The current configuration is held in ActivePolicies; it can be modified using SetPolicy, and changes are signalled by PolicyChanged.
Methods
SetPolicy (s: Channel_Type, u: Policy) → nothing
Parameters
- Channel_Type — s (DBus_Interface)
- Policy — u (Access_Control_Type)
Signals
PolicyChanged (a{su}: Changed_Policies)
Parameters
- Changed_Policies — a{su} (Active_Policies_Map)
Properties
SupportedPolicies — a(asau) (Supported_Policy_List)
ActivePolicies — a{su} (Active_Policies_Map)
The active communication policies on this connection. Communication methods that are not in this mapping are considered open.
For example, to allow incoming calls only from contacts buddy list, and to allow text messages from anyone, the policy would look like this:
{ 'org.freedesktop.Telepathy.Channel.Type.Text' : Access_Control_Type_Open, 'org.freedesktop.Telepathy.Channel.Type.Call' : Access_Control_Type_Publish_List }
Changes to this property are signalled by PolicyChanged.
Types
Access_Control_Type — u
- Whitelist (0)
- Publish_List (1)
- Group (2)
- Open (3)
- Subscribe_Or_Publish_List (5)
- Closed (9)
- Not_Understood (10)
Only allow contacts that are in a certain whitelist.
This policy is relevant for presence interfaces, and should be associated with a list of contact handles that represent the whitelist of permited contacts.
Only allow contacts that are in a certain group.
This policy is relevant for presence interfaces, and should be associated with a group handle.
The access control rule is too complex to be represented in the current Telepathy API. The associated variant is meaningless. Setting this mode is never valid; the connection manager MUST raise an error if this is attempted.
Rationale:
Active_Policies_Map — a{su}
- Channel_Type — s (DBus_Interface)
- Active_Policy — u (Access_Control_Type)
Supported_Policy — (asau)
The communication methods (channel types), and the policies that can be applied to them. This is server and protocol dependant.
Grouped channel types will always have the same policy applied to them.
Rationale:
- Chanel_Types — as (DBus_Interface_List)
- SupportedPolicies — au (Access_Control_Type_List)