| Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
|---|---|
| License | LGPL-2.1 |
| Maintainer | Iñaki García Etxebarria |
| Safe Haskell | None |
| Language | Haskell2010 |
GI.IBus.Objects.Serializable
Description
An Serializable is an IBus object which can be serialized, that is,
to be to and from a GVariant.
This class is to be extended by other class that requires serialization.
An extended class should overrides following methods:
<itemizedlist>
<listitem>
<para><function>serialize(object,iter)</function>: for serialize.</para>
</listitem>
<listitem>
<para><function>deserialize(object,iter)</function>: for deserialize.</para>
</listitem>
<listitem>
<para><function>copy(desc,src)</function>: for copy between IBusSerializable.</para>
</listitem>
</itemizedlist>
See IBusSerializableSerializeFunc(), IBusSerializableDeserializeFunc(), IBusSerializableCopyFunc()
for function prototype.
Synopsis
- newtype Serializable = Serializable (ManagedPtr Serializable)
- class (GObject o, IsDescendantOf Serializable o) => IsSerializable o
- toSerializable :: (MonadIO m, IsSerializable o) => o -> m Serializable
- serializableCopy :: (HasCallStack, MonadIO m, IsSerializable a) => a -> m Serializable
- serializableDeserializeObject :: (HasCallStack, MonadIO m) => GVariant -> m Serializable
- serializableGetQattachment :: (HasCallStack, MonadIO m, IsSerializable a) => a -> Word32 -> m GVariant
- serializableNew :: (HasCallStack, MonadIO m) => m Serializable
- serializableRemoveQattachment :: (HasCallStack, MonadIO m, IsSerializable a) => a -> Word32 -> m ()
- serializableSerializeObject :: (HasCallStack, MonadIO m, IsSerializable a) => a -> m GVariant
- serializableSetQattachment :: (HasCallStack, MonadIO m, IsSerializable a) => a -> Word32 -> GVariant -> m ()
Exported types
newtype Serializable Source #
Memory-managed wrapper type.
Constructors
| Serializable (ManagedPtr Serializable) |
Instances
| Eq Serializable Source # | |
Defined in GI.IBus.Objects.Serializable | |
| GObject Serializable Source # | |
Defined in GI.IBus.Objects.Serializable | |
| ManagedPtrNewtype Serializable Source # | |
Defined in GI.IBus.Objects.Serializable Methods toManagedPtr :: Serializable -> ManagedPtr Serializable | |
| TypedObject Serializable Source # | |
Defined in GI.IBus.Objects.Serializable Methods glibType :: IO GType | |
| IsGValue Serializable Source # | Convert |
Defined in GI.IBus.Objects.Serializable | |
| HasParentTypes Serializable Source # | |
Defined in GI.IBus.Objects.Serializable | |
| type ParentTypes Serializable Source # | |
Defined in GI.IBus.Objects.Serializable | |
class (GObject o, IsDescendantOf Serializable o) => IsSerializable o Source #
Type class for types which can be safely cast to Serializable, for instance with toSerializable.
Instances
| (GObject o, IsDescendantOf Serializable o) => IsSerializable o Source # | |
Defined in GI.IBus.Objects.Serializable | |
toSerializable :: (MonadIO m, IsSerializable o) => o -> m Serializable Source #
Cast to Serializable, for types for which this is known to be safe. For general casts, use castTo.
Methods
Overloaded methods
copy
Arguments
| :: (HasCallStack, MonadIO m, IsSerializable a) | |
| => a |
|
| -> m Serializable | Returns: A newly allocated clone object; or See also: |
Clone an Serializable.
The copy method should be implemented in extended class.
deserializeObject
serializableDeserializeObject Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => GVariant |
|
| -> m Serializable | Returns: The deserialized See also: |
Deserialize a GVariant to an Serializable/
The deserialize method should be implemented in extended class.
getQattachment
serializableGetQattachment Source #
Arguments
| :: (HasCallStack, MonadIO m, IsSerializable a) | |
| => a |
|
| -> Word32 |
|
| -> m GVariant | Returns: The attached value; or See also: |
Gets a value from attachment of an Serializable.
new
Arguments
| :: (HasCallStack, MonadIO m) | |
| => m Serializable | Returns: a new instance of |
Creates a new instance of an Serializable.
removeQattachment
serializableRemoveQattachment Source #
Arguments
| :: (HasCallStack, MonadIO m, IsSerializable a) | |
| => a |
|
| -> Word32 |
|
| -> m () |
Remove a value from attachment of an Serializable.
See also: ibus_serializable_remove_attachment().
serializeObject
serializableSerializeObject Source #
Arguments
| :: (HasCallStack, MonadIO m, IsSerializable a) | |
| => a |
|
| -> m GVariant | Returns: A See also: |
Serialize an Serializable to a GVariant.
The serialize method should be implemented in extended class.
setQattachment
serializableSetQattachment Source #
Arguments
| :: (HasCallStack, MonadIO m, IsSerializable a) | |
| => a |
|
| -> Word32 |
|
| -> GVariant |
|
| -> m () |
Attach a value to an Serializable. If the value is floating,
the serializable will take the ownership.
See also: ibus_serializable_set_attachment().