0-th

better formated version at: http://pastebin.com/f3222e122

org.freedesktop.Telepathy.Connection.Interface.FileSharing.DRAFT

Implementations of this interface must also implement: * org.freedesktop.Telepathy.Connection

An interface on connections to support protocols which allow users to designate a set of files as available for retrieval by other users of their choosing. Other features specified by this interface include file metadata, revisions, and download mirrors. Methods:

CreateFileListing ( s: Title, s: File_Listing, s: Description)-> b	In order to be able to publish a file one should have a File_Listing node. Here the Discription parameter is optional. Returns whether the File_Listing was created ('true') or not ('false'). Parameters Title - s This will be the title of the File_Listing. File_Listing - s This is how the File_Listing of the user will be referenced. Discription - s This is optional and can be use to give the discription of the File_Listing that is being created. Returns Returns 'true' if the File_Listing was created and 'false' if it was not.

Possible Error org.freedesktop.Telepathy.Error.Disconnected The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged has signaled status Disconnected for reason None. AddSubSection ( s: Title, s: File_Listing_Parent, s: File_Listing_Derived, s: Description) -> b	This method is called in order to add a SubSection (File_Listing_Derived) to an already existing File_Listing (File_Listing_Parent). This method returns whether the creation of the SubSection was successful ('true') or not ('false'). Parameters Title - s This will be the title of the subsection. File_Listing_Parent - s This is how the repository of the user will be referenced. File_Listing_Derived - s This is how the SubSection will be referenced. Discription - s This is optional and can be use to give the discription of the SubSection that is being created.

Returns Returns 'true' if the SubSection was created and 'false' if it was not.

Possible Error org.freedesktop.Telepathy.Error.Disconnected The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged has signalled status Disconnected for reason None.

org.freedesktop.Telepathy.Error.InvalidHandle The File_Listing_Parent specified is unknown on this channel or connection. (generic description) org.freedesktop.Telepathy.Error.PermissionDenied The user is not permitted to perform the requested operation. (generic description)

SuscribeList ( s: File_List, s: Subscription_Type, s: Subscription_Depth) -> b	This method is called when one wants to suscribe to a File_List. This method returns whether the subscription was successful ('true') or not ('false'). note: "no-ops" for AIM

Parameters File_List - s This is the File_List user wants to subscibe. Subscription_Type - s This gives the subscription type. Subscription_Depth - s Since a pubsub FileListing might have many SubSections,therefore this parameter gives the depth a user want to subscribe to. Returns Returns 'true' if the subscription was done and 'false' if it was not.

Possible Error org.freedesktop.Telepathy.Error.Disconnected The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged has signalled status Disconnected for reason None.

org.freedesktop.Telepathy.Error.InvalidHandle The File_List specified is unknown on this channel or connection. (generic description)

UnSuscribeList ( s: File_List) -> b	This method is called when one wants to unsuscribe to a File_List. This method returns whether the subscription was successful ('true') or not ('false'). note: "no-ops" for AIM

Parameters File_List - s		This is the File_List user wants to unsubscibe from Returns Returns 'true' if the unsubscription was done and 'false' if it was not.

Possible Error org.freedesktop.Telepathy.Error.Disconnected The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged has signalled status Disconnected for reason None.

org.freedesktop.Telepathy.Error.InvalidHandle The File_List specified is unknown on this channel or connection. (generic description)

PublishFile ( s: File_List, s: Filename, q: ItemId, as: Metadata, s: Mirrors) -> b	This method is called in order to to add a file to the File_List of published files. This method returns whether the file was published successfully 	('true') or not ('false'). Parameters File_List - s This is the File_List user wants to publish file to. Filename - s This is the FileName user want to publish. ItemId - q This Id is used to create more than one version of the same file. Metadata - as This list all the metadata about the file which includes Size,Modified,CheckSum,Ckecksumtype and Mime. Mirrors	- s This list the mirrors from where the file can be fetched. Return Returns 'true' if the Filename was published and 'false' if it was not. Possible Error org.freedesktop.Telepathy.Error.Disconnected The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged has signalled status Disconnected for reason None.

org.freedesktop.Telepathy.Error.InvalidHandle The File_List specified is unknown on this channel or connection. (generic description)

org.freedesktop.Telepathy.Error.PermissionDenied The user is not permitted to perform the requested operation. (generic description)

DeleteRevision ( s: File_List, q: File_Item_Id) -> b	This method is called in order to delete a revision from the list of published files on a File_List. This method returns whether the file was 		deleted successfully ('true') or not ('false'). Parameters File_List - s		This is the File_List which is holding the file with the Item_Id equal to File_Item_Id File_Item_Id - q		This is the ItemId of the FileName that has to be deleted Return Returns 'true' if the FileItemId was deleted and 'false' if it was not. Possible Error org.freedesktop.Telepathy.Error.Disconnected The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged has signalled status Disconnected for reason None.

org.freedesktop.Telepathy.Error.InvalidHandle The File_List specified is unknown on this channel or connection. (generic description)

org.freedesktop.Telepathy.Error.PermissionDenied The user is not permitted to perform the requested operation. (generic description)

MakeRevision ( s: File_List, s: Filename, q: ItemId, as: Metadata, s: Mirrors) -> b	This method is called in order to make a revision to an existing file on File_List. Use a different ItemId than the original file. This method 		returns whether the file was revised successfully ('true') or not ('false').

Parameters File_List - s This is the File_List on which the file user want to make revision to is listed. Filename - s This is the FileName user want to publish. ItemId - q This Id is used to create more than one version of the same file. Metadata - as This list all the metadata about the file which includes Size,Modified,CheckSum,Ckecksumtype and Mime. Mirrors	- s This list the mirrors from where the file can be fetched. Return Returns 'true' if the FileName was published and 'false' if it was not. Possible Error org.freedesktop.Telepathy.Error.Disconnected The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged has signalled status Disconnected for reason None.

org.freedesktop.Telepathy.Error.InvalidHandle The File_List specified is unknown on this channel or connection. (generic description)

org.freedesktop.Telepathy.Error.PermissionDenied The user is not permitted to perform the requested operation. (generic description)

SetPermissions ( s: File_List, u: User_Handle, s: Affilation) -> Nothing

This method is called in order to set permissions for users regarding a File_List owned by an owner. This method returns whether permissions were set successfully ('true') or not ('false').

Parameter File_List - s This is the File_List owner want to change permission of. UserHandle - u UserHandle of the user whose permission/affilation are being changed. Affilation - s		This is the permission that will be set for the User_Handle Return Nothing Possible Error org.freedesktop.Telepathy.Error.Disconnected The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged has signalled status Disconnected for reason None.

org.freedesktop.Telepathy.Error.InvalidHandle The File_List specified is unknown on this channel or connection. (generic description)

org.freedesktop.Telepathy.Error.PermissionDenied The user is not permitted to perform the requested operation. (generic description)

GetRepoList( u: User_Handle ) -> as This method is called to request the File_list which are hosted by User_Handle. Parameter User_Handle - u The Contact_Handle of the user whose list of hosted File_List is being requested. Return Returns an array of strings where each string represents a File_List hosted by the User.

Possible Error org.freedesktop.Telepathy.Error.Disconnected The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged has signalled status Disconnected for reason None.

org.freedesktop.Telepathy.Error.InvalidHandle The User_handle specified is unknown on this channel or connection. (generic description) org.freedesktop.Telepathy.Error.PermissionDenied The user is not permitted to perform the requested operation. (generic description)

GetFileList( s: File_List, u: User_Handle ) -> as This method is called to request the list of files in a File_List hosted by the user with Contact_Handle as User_Handle. Parameter

File_List - s		This is the File_List whose list of included file is being requested User_Handle - u The Contact_Handle of the user whose list of hosted File_List is being requested. Return Returns an array of strings where each string represents a Filename hosted by the User. If their is a Subsection at the same hierarchy level, it is aso retturned in this array.

Possible Error org.freedesktop.Telepathy.Error.Disconnected The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged has signalled status Disconnected for reason None.

org.freedesktop.Telepathy.Error.InvalidHandle The File_List/User_handle specified is unknown on this channel or connection. (generic description) org.freedesktop.Telepathy.Error.PermissionDenied The user is not permitted to perform the requested operation. (generic description)

RequestFile(s: File_List, u: User_Handle, s: Filename) -> nothing In order to request for a file to be sent one must request a FileSharing channel for the mirror hosting the file including the following mandatory 		properties (Protocol, FileId). After this RequestFile is called to to configure the socket that will be used to complete this operation.

Parameter File_List - s			This is the File_List whose list of included file is being requested User_Handle - u The Contact_Handle of the user whose list of hosted File_List is being requested.

Filename - s			File which is being requested to be sent

Possible Error org.freedesktop.Telepathy.Error.Disconnected The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged has signalled status Disconnected for reason None.

org.freedesktop.Telepathy.Error.InvalidHandle The File_List/User_handle specified is unknown on this channel or connection. (generic description)

org.freedesktop.Telepathy.Error.PermissionDenied The user is not permitted to perform the requested operation. (generic description)

Signals NotificationChange( s: File_List, s: File_List_Title, s: Filename_Modified, s: Description, as: Metadata, s: Mirror) This signal is sent to every user which is subscribed to the File_List in which the change has been made. Parameter File_List - s		This is the File_List on which the change has been done File_List_Title - s		This is the title of the File_List which has been modified

Filename_Modified - s		This is Filename on File_List which has been changed

Discription - s		This is the Discripton of the File_List which has been modified Metadata - as		This is the Metadata of the file which has been added/deleted Mirror - s Mirror of the modified file.

Structure types

Metadata ( u: Size, s: Modified, s: CheckSum, s: Checksumtype, s: Mime )

This represents all the information needed about the file. Members Size - s		Size of the file in KB	Modified - s		The last modified time of the revision CheckSum - s		Checksum of the file

Checksumtype - s		The type of CheckSum used Mime - s		Mime Type of the file