* could possibly have, as a bitmask.
*/
public enum Folks.CapabilitiesFlags {
- /**
- * No capabilities. Mutually exclusive with the other values.
- */
NONE = 0,
-
- /**
- * Audio chat support.
- */
AUDIO = 1 << 0,
-
- /**
- * Video chat support.
- */
VIDEO = 1 << 1,
-
- /**
- * File transfer support.
- */
FILE_TRANSFER = 1 << 2,
-
- /**
- * Telepathy tubes support.
- */
STREAM_TUBE = 1 << 3,
-
- /**
- * Unknown set of capabilities. Mutually exclusive with the other values.
- */
UNKNOWN = 1 << 7,
}
/**
* Allows access to the {@link Individual}s which have been created through
- * aggregation of all the {@link Persona}s provided by the various libfolks
- * {@link Backend}s. This is the main interface for accessing libfolks.
+ * aggregation of all the {@link Persona}s provided by the various
+ * {@link Backend}s. This is the main interface for client applications.
*/
public class Folks.IndividualAggregator : Object
{
* interface in the Telepathy specification.
*/
public enum Folks.PresenceType {
- /**
- * Presence is unset. (Default.)
- */
UNSET,
-
- /**
- * User is offline.
- */
OFFLINE,
-
- /**
- * User is available.
- */
AVAILABLE,
-
- /**
- * User is away.
- */
AWAY,
-
- /**
- * User is away for an extended period.
- */
EXTENDED_AWAY,
-
- /**
- * User is online but hidden.
- */
HIDDEN,
-
- /**
- * User is busy.
- */
BUSY,
-
- /**
- * Presence is unknown.
- */
UNKNOWN,
-
- /**
- * Presence is invalid.
- */
ERROR
}
/**
- * Interface for {@link Persona}s or {@link Individual}s which have a presence;
- * their current availability, such as for chatting.
+ * Interface exposing a {@link Persona}'s or {@link Individual}'s presence;
+ * their current availability, such as for chatting. If the {@link Backend}
+ * providing the {@link Persona} doesn't support presence, the {@link Persona}'s
+ * `presence_type` will be set to {@link PresenceType.UNSET} and their
+ * `presence_message` will be an empty string.
*/
public interface Folks.Presence : Object
{