InfcBrowser

InfcBrowser — Browse remote directories

Stability Level

Unstable, unless otherwise indicated

Functions

InfcBrowser * infc_browser_new ()
InfCommunicationManager * infc_browser_get_communication_manager ()
InfXmlConnection * infc_browser_get_connection ()
InfcBrowserStatus infc_browser_get_status ()
gboolean infc_browser_add_plugin ()
const InfcNotePlugin * infc_browser_lookup_plugin ()
void infc_browser_iter_get_root ()
gboolean infc_browser_iter_get_next ()
gboolean infc_browser_iter_get_prev ()
gboolean infc_browser_iter_get_parent ()
gboolean infc_browser_iter_get_explored ()
gboolean infc_browser_iter_get_child ()
InfcExploreRequest * infc_browser_iter_explore ()
const gchar * infc_browser_iter_get_name ()
gchar * infc_browser_iter_get_path ()
gboolean infc_browser_iter_is_subdirectory ()
InfcNodeRequest * infc_browser_add_subdirectory ()
InfcNodeRequest * infc_browser_add_note ()
InfcNodeRequest * infc_browser_add_note_with_content ()
InfcNodeRequest * infc_browser_remove_node ()
const gchar * infc_browser_iter_get_note_type ()
const InfcNotePlugin * infc_browser_iter_get_plugin ()
InfcNodeRequest * infc_browser_iter_subscribe_session ()
InfcNodeRequest * infc_browser_iter_save_session ()
InfcSessionProxy * infc_browser_iter_get_session ()
InfcSessionProxy * infc_browser_iter_get_sync_in ()
InfcNodeRequest * infc_browser_iter_get_subscribe_request ()
InfcExploreRequest * infc_browser_iter_get_explore_request ()
GSList * infc_browser_iter_get_sync_in_requests ()
gboolean infc_browser_iter_from_node_request ()
gboolean infc_browser_iter_from_explore_request ()
gboolean infc_browser_iter_is_valid ()
InfcNodeRequest * infc_browser_subscribe_chat ()
InfcNodeRequest * infc_browser_get_subscribe_chat_request ()
InfcSessionProxy * infc_browser_get_chat_session ()

Properties

InfcSessionProxy * chat-session Read
InfCommunicationManager * communication-manager Read / Write / Construct Only
InfXmlConnection * connection Read / Write / Construct Only
InfIo * io Read / Write / Construct Only
InfcBrowserStatus status Read

Signals

void begin-explore Run Last
void begin-subscribe Run Last
void error Run Last
void node-added Run Last
void node-removed Run Last
void subscribe-session Run Last

Types and Values

Object Hierarchy

    GEnum
    ╰── InfcBrowserStatus
    GObject
    ╰── InfcBrowser

Implemented Interfaces

InfcBrowser implements InfCommunicationObject.

Includes

#include <libinfinity/client/infc-browser.h>

Description

The InfcBrowser is used to browse a remote directory and can be used to subscribe to sessions.

Functions

infc_browser_new ()

InfcBrowser *
infc_browser_new (InfIo *io,
                  InfCommunicationManager *comm_manager,
                  InfXmlConnection *connection);

Creates a new InfcBrowser.

Parameters

io

A InfIo object used to schedule timeouts.

 

comm_manager

A InfCommunicationManager to register the server connection and which forwards incoming data to the browser or running sessions.

 

connection

Connection to the server.

 

Returns

A new InfcBrowser.


infc_browser_get_communication_manager ()

InfCommunicationManager *
infc_browser_get_communication_manager
                               (InfcBrowser *browser);

Returns the communication manager of this browser.

Parameters

browser

A InfcBrowser.

 

infc_browser_get_connection ()

InfXmlConnection *
infc_browser_get_connection (InfcBrowser *browser);

Returns the connection to the server.

Parameters

browser

A InfcBrowser.

 

Returns

A InfXmlConnection.


infc_browser_get_status ()

InfcBrowserStatus
infc_browser_get_status (InfcBrowser *browser);

Returns the browser's status. Note that the browser status can be INFC_BROWSER_DISCONNECTED even if browser's connection is still open. This can happen if a fatal error on the browser layer happens, for example when it does not understand the server's messages.

Parameters

browser

A InfcBrowser.

 

Returns

The browser's status.


infc_browser_add_plugin ()

gboolean
infc_browser_add_plugin (InfcBrowser *browser,
                         const InfcNotePlugin *plugin);

Adds plugin to browser . This allows the browser to create sessions of the plugin's type. Only one plugin of each type can be added to the directory.

Parameters

browser

A InfcBrowser.

 

plugin

A InfcNotePlugin.

 

Returns

Whether the plugin was added successfully.


infc_browser_lookup_plugin ()

const InfcNotePlugin *
infc_browser_lookup_plugin (InfcBrowser *browser,
                            const gchar *note_type);

Returns a previously registered plugin (see infc_browser_add_plugin()) for the given note type, or NULL if there is no such plugin.

Parameters

browser

A InfcBrowser.

 

note_type

A note type, such as "InfText".

 

Returns

A InfcNotePlugin, or NULL.


infc_browser_iter_get_root ()

void
infc_browser_iter_get_root (InfcBrowser *browser,
                            InfcBrowserIter *iter);

Sets iter to point to the root node of the browser tree.

Parameters

browser

A InfcBrowser.

 

iter

An uninitialized InfcBrowserIter.

 

infc_browser_iter_get_next ()

gboolean
infc_browser_iter_get_next (InfcBrowser *browser,
                            InfcBrowserIter *iter);

Sets iter to point to the next node within the same subdirectory. If iter already points to the last node, iter is left untouched and FALSE is returned.

Parameters

browser

A InfcBrowser

 

iter

A InfcBrowserIter pointing to a node in browser .

 

Returns

TRUE if iter was set, FALSE otherwise.


infc_browser_iter_get_prev ()

gboolean
infc_browser_iter_get_prev (InfcBrowser *browser,
                            InfcBrowserIter *iter);

Sets iter to point to the provious node within the same subdirectory. If iter already points to the first node, iter is left untouched and FALSE is returned.

Parameters

browser

A InfcBrowser

 

iter

A InfcBrowserIter pointing to a node in browser .

 

Returns

TRUE if iter was set, FALSE otherwise.


infc_browser_iter_get_parent ()

gboolean
infc_browser_iter_get_parent (InfcBrowser *browser,
                              InfcBrowserIter *iter);

Sets iter to point to the parent node. If iter already points to the root node, iter is left untouched and the function returns FALSE.

Parameters

browser

A InfcBrowser.

 

iter

A InfcBrowserIter pointing to a node in browser .

 

Returns

TRUE if iter was set, FALSE otherwise.


infc_browser_iter_get_explored ()

gboolean
infc_browser_iter_get_explored (InfcBrowser *browser,
                                const InfcBrowserIter *iter);

Returns whether the subdirectory node iter points to has been explored.

Parameters

browser

A InfcBrowser.

 

iter

A InfcBrowserIter pointing to a subdirectory node in browser .

 

Returns

TRUE if the subdirectory has been explored and FALSE otherwise.


infc_browser_iter_get_child ()

gboolean
infc_browser_iter_get_child (InfcBrowser *browser,
                             InfcBrowserIter *iter);

Sets iter to point to the first child of the subdirectory it is currently pointing to. The subdirectory must already have been explored. If the subdirectory has no children, iter is left untouched and FALSE is returned.

Parameters

browser

A InfcBrowser.

 

iter

A InfcBrowserIter pointing to a subdirectory node in brwoser that has already been explored.

 

Returns

TRUE if iter was set, FALSE otherwise.


infc_browser_iter_explore ()

InfcExploreRequest *
infc_browser_iter_explore (InfcBrowser *browser,
                           const InfcBrowserIter *iter);

Explores the given subdirectory node. The returned request may be used to get informed about exploration progress and completion. When the exploration has been initiated, infc_browser_iter_get_child() may be called to get the content that has been explored so far. When the request has finished, all content is available.

Parameters

browser

A InfcBrowser.

 

iter

A InfcBrowserIter pointing to a subdirectory node in browser that has not yet been explored.

 

Returns

A InfcExploreRequest to watch the exploration process.


infc_browser_iter_get_name ()

const gchar *
infc_browser_iter_get_name (InfcBrowser *browser,
                            const InfcBrowserIter *iter);

Returns the name of the node iter points to.

Parameters

browser

A InfcBrowser.

 

iter

A InfcBrowserIter pointing to a node in browser .

 

Returns

The node's name. The returned string must not be freed.


infc_browser_iter_get_path ()

gchar *
infc_browser_iter_get_path (InfcBrowser *browser,
                            const InfcBrowserIter *iter);

Returns the complete path to the node iter points to. The path to a node is the name of the node and the name of all parent nodes separated by '/', as a filesystem path on Unix.

Parameters

browser

A InfcBrowser.

 

iter

A InfcBrowserIter pointing to a node in browser .

 

Returns

The node's path. Free with g_free() when no longer in use.


infc_browser_iter_is_subdirectory ()

gboolean
infc_browser_iter_is_subdirectory (InfcBrowser *browser,
                                   const InfcBrowserIter *iter);

Returns whether iter points to a subdirectory node or not.

Parameters

browser

A InfcBrowser.

 

iter

A InfcBrowserIter pointing to a node in browser .

 

Returns

Whether the node iter points to is a subdirectory node.


infc_browser_add_subdirectory ()

InfcNodeRequest *
infc_browser_add_subdirectory (InfcBrowser *browser,
                               const InfcBrowserIter *parent,
                               const gchar *name);

Creates a new request that asks the server to create a new subdirectory. Note that the parent subdirectory must already have been explored.

Parameters

browser

A InfcBrowser.

 

parent

A InfcBrowserIter pointing to an explored subdirectory in which to create the new subdirectory.

 

name

The name for the new subdirectory.

 

Returns

A InfcNodeRequest to be notified when the request finishes or fails.


infc_browser_add_note ()

InfcNodeRequest *
infc_browser_add_note (InfcBrowser *browser,
                       const InfcBrowserIter *parent,
                       const gchar *name,
                       const InfcNotePlugin *plugin,
                       gboolean initial_subscribe);

Asks the server to create a new note with the given type. The returned request may be used to be notified when the request finishes or fails.

If initial_subscribe is set, then, when the returned request finishes, you might call infc_browser_iter_get_session() on the resulting InfcBrowserIter. However, that function is not guaranteed to return non-NULL in this case since the node might have been created, but the subscription could have failed.

Parameters

browser

A InfcBrowser.

 

parent

A InfcBrowserIter pointing to an explored subdirectory.

 

name

Name for the new node.

 

plugin

Type of the new node.

 

initial_subscribe

Whether to automatically subscribe to the newly created node.

 

Returns

A InfcNodeRequest.


infc_browser_add_note_with_content ()

InfcNodeRequest *
infc_browser_add_note_with_content (InfcBrowser *browser,
                                    const InfcBrowserIter *parent,
                                    const gchar *name,
                                    const InfcNotePlugin *plugin,
                                    InfSession *session,
                                    gboolean initial_subscribe);

Asks the server to create a new note with the given type. The returned request may be used to be notified when the request finishes or fails.

The returned request finishes as soon as the server acknowledges the creation of the node, which is before the content is transmitted. If, during transmission, an error occurs, then the node is removed again. To get notified when the transmission fails, finishes or changes in progress, you can connect to the InfSession::synchronization-failed, InfSession::synchronization-complete and InfSession::synchronization-progress signals. Note that a single session might be synchronized to multiple servers at the same time, you will have to check the connection parameter in the signal hander to find out to which server the session is synchronized.

You can safely unref session after having called this function. If the request or the synchronization fails, the session will be discarded in that case. When the returned request finishes, you can use infc_browser_iter_get_sync_in() to get the session again.

If initial_subscribe is set, then, when the returned request finishes, you might call infc_browser_iter_get_session() on the resulting InfcBrowserIter. However, that function is not guaranteed to return non-NULL in this case since the node might have been created, but the subscription could have failed.

Parameters

browser

A InfcBrowser.

 

parent

A InfcBrowserIter pointing to an explored subdirectory.

 

name

Name for the new node.

 

plugin

Type of the new node.

 

session

A session that is copied to the server and used as initial content for the new node.

 

initial_subscribe

Whether to automatically subscribe to the newly created node.

 

Returns

A InfcNodeRequest.


infc_browser_remove_node ()

InfcNodeRequest *
infc_browser_remove_node (InfcBrowser *browser,
                          const InfcBrowserIter *iter);

Asks the server to remove the node iter points to.

Parameters

browser

A InfcBrowser.

 

iter

A InfcBrowserIter pointing to a node in browser .

 

Returns

A InfcNodeRequest that may be used to get notified when the request finishes or fails.


infc_browser_iter_get_note_type ()

const gchar *
infc_browser_iter_get_note_type (InfcBrowser *browser,
                                 const InfcBrowserIter *iter);

Returns the type of the note iter points to. This must not be a subdirectory node.

Parameters

browser

A InfcBrowser.

 

iter

A InfcBrowserIter pointing to a note inside browser .

 

Returns

The note's type.


infc_browser_iter_get_plugin ()

const InfcNotePlugin *
infc_browser_iter_get_plugin (InfcBrowser *browser,
                              const InfcBrowserIter *iter);

Returns the InfcNotePlugin that is used for subscriptions to the note iter points to, or NULL if no plugin for the note's type has been registered.

Parameters

browser

A InfcBrowser.

 

iter

A InfcBrowserIter pointing to a note inside browser .

 

Returns

A InfcNotePlugin, or NULL.


infc_browser_iter_subscribe_session ()

InfcNodeRequest *
infc_browser_iter_subscribe_session (InfcBrowser *browser,
                                     const InfcBrowserIter *iter);

Subscribes to the given note. When the request has finished (which does not mean that the subscription has finished, but the server is ready to perform the subscription), infc_browser_iter_get_session() can be used to access the InfcSessionProxy object representing the subscription.

Parameters

browser

A InfcBrowser.

 

iter

A InfcBrowserIter pointing to a note inside browser .

 

Returns

A InfcNodeRequest that may be used to get notified when the request finishes or fails.


infc_browser_iter_save_session ()

InfcNodeRequest *
infc_browser_iter_save_session (InfcBrowser *browser,
                                const InfcBrowserIter *iter);

Requests that the server saves the note pointed to by iter into its background storage. Normally, the server only does this when it is either shut down or when the there are no more subscriptions to the note. Note that this is merely a request and the server might decide not to save the session for whatever reason.

Parameters

browser

A InfcBrowser.

 

iter

A InfcBrowserIter pointing to a note in browser .

 

Returns

A InfcNodeRequest that may be used to get notified when the request finishes or fails.


infc_browser_iter_get_session ()

InfcSessionProxy *
infc_browser_iter_get_session (InfcBrowser *browser,
                               const InfcBrowserIter *iter);

Returns the InfcSessionProxy representing the subscription to the given note, if the client is subscribed, and NULL otherwise.

Parameters

browser

A InfcBrowser.

 

iter

A InfcBrowserIter pointing to a note in browser .

 

Returns

A InfcSessionProxy, or NULL if not subscribed.


infc_browser_iter_get_sync_in ()

InfcSessionProxy *
infc_browser_iter_get_sync_in (InfcBrowser *browser,
                               const InfcBrowserIter *iter);

Returns the InfcSessionProxy that is used to synchronize the note iter points to to the server. Such a node is created by infc_browser_add_note_with_content(). If the client is subscribed to this note, then this returns the same session as infc_browser_iter_get_session(). However, it is possible that we synchronize this node to the server without being subscribed to it. In this case, this function returns the session that does the synchronization, while infc_browser_iter_get_session() would return NULL.

Parameters

browser

A InfcBrowser.

 

iter

A InfcBrowserIter pointing to a note in browser .

 

Returns

A InfcSessionProxy, or NULL if we are currently not synchronizing this node to the server.


infc_browser_iter_get_subscribe_request ()

InfcNodeRequest *
infc_browser_iter_get_subscribe_request
                               (InfcBrowser *browser,
                                const InfcBrowserIter *iter);

Returns the InfcNodeRequest that represents the subscription request sent for the note iter points to. Returns NULL if we are already subscribed to that node, or no subscription request has been sent. In the former case infc_browser_iter_get_session() will return the InfcSessionProxy for the subscription.

Parameters

browser

A InfcBrowser.

 

iter

A InfcBrowserIter pointing to a note in browser .

 

Returns

A InfcNodeRequest, or NULL.


infc_browser_iter_get_explore_request ()

InfcExploreRequest *
infc_browser_iter_get_explore_request (InfcBrowser *browser,
                                       const InfcBrowserIter *iter);

Returns the InfcExploreRequest with which the node iter points to is currenty explored. Returns NULL if that node is already explored or is not currently explored.

Parameters

browser

A InfcBrowser.

 

iter

A InfcBrowserIter pointing to a subdirectory node in browser .

 

Returns

A InfcExploreRequest, or NULL.


infc_browser_iter_get_sync_in_requests ()

GSList *
infc_browser_iter_get_sync_in_requests
                               (InfcBrowser *browser,
                                const InfcBrowserIter *iter);

Returns a list of all InfcNodeRequest created with infc_browser_add_note_with_content() with the node iter points to as parent. Such requests begin a synchronization to the server when they have finished.

Parameters

browser

A InfcBrowser.

 

iter

A InfcBrowserIter pointing to a subdirectory node in browser .

 

Returns

A list of InfcNodeRequests. Free with g_slist_free() when done.


infc_browser_iter_from_node_request ()

gboolean
infc_browser_iter_from_node_request (InfcBrowser *browser,
                                     InfcNodeRequest *request,
                                     InfcBrowserIter *iter);

Sets iter to point to the node request is related to. If there is no such node (someone could have deleted it while the request is still running), the function returns FALSE and iter is unchanged.

Parameters

browser

A InfcBrowser.

 

request

A InfcNodeRequest issued by browser .

 

iter

A InfcBrowserIter.

 

Returns

TRUE if iter was set, FALSE otherwise.


infc_browser_iter_from_explore_request ()

gboolean
infc_browser_iter_from_explore_request
                               (InfcBrowser *browser,
                                InfcExploreRequest *request,
                                InfcBrowserIter *iter);

Sets iter to the node request is currently exploring. If there is no such node (someone could have deleted it while exploring), the function returns FALSE and lets iter untouched.

Parameters

browser

A InfcBrowser.

 

request

A InfcExploreRequest exploring a node in browser .

 

iter

A InfcBrowserIter.

 

Returns

TRUE if iter was set, FALSE otherwise.


infc_browser_iter_is_valid ()

gboolean
infc_browser_iter_is_valid (InfcBrowser *browser,
                            const InfcBrowserIter *iter);

Returns whether iter points to a valid node in browser . This is generally the case for any InfcBrowserIter returned by one of the InfcBrowser functions, it gets invalid however as soon as the node it points to is removed.

Parameters

browser

A InfcBrowser.

 

iter

A InfcBrowserIter.

 

Returns

Whether iter points to a node in browser .


infc_browser_subscribe_chat ()

InfcNodeRequest *
infc_browser_subscribe_chat (InfcBrowser *browser);

Attempts to subscribe to the server's chat. When the operation finishes infc_browser_get_chat_session() will return a InfcSessionProxy representing the chat session. It can be used to read the chat's content. The request can fail in case the server chat is disabled.

Parameters

browser

A InfcBrowser.

 

Returns

A InfcNodeRequest that may be used to get notified when the request finishes or fails.


infc_browser_get_subscribe_chat_request ()

InfcNodeRequest *
infc_browser_get_subscribe_chat_request
                               (InfcBrowser *browser);

Returns the InfcNodeRequest that represests the request sent to the server which attempts to subscribe to its chat. If there is no such request running, then the function returns NULL. After such a request finishes, call infc_browser_get_chat_session() to get the InfcSessionProxy for the chat session. To initiate the request, call infc_browser_subscribe_chat().

Parameters

browser

A InfcBrowser.

 

Returns

A InfcNodeRequest, or NULL.


infc_browser_get_chat_session ()

InfcSessionProxy *
infc_browser_get_chat_session (InfcBrowser *browser);

Returns the InfcSessionProxy representing the running chat session if the local client is subscribed to it, or NULL otherwise.

Parameters

browser

A InfcBrowser.

 

Returns

A InfcSessionProxy for the chat, or NULL.

Types and Values

enum InfcBrowserStatus

This enumeration contains possible connection status values for InfcBrowser. Several operations, such as exploring a node or subscribing to a session can only be performed when the browser is connected to a remote infinote server.

Members

INFC_BROWSER_DISCONNECTED

The browser is currently not connected to a server.

 

INFC_BROWSER_CONNECTING

The browser is currently establishing a connection to a remote server, but the connection is not yet fully established.

 

INFC_BROWSER_CONNECTED

The browser is connected to a remote server.

 

struct InfcBrowser

struct InfcBrowser;

InfcBrowser is an opaque data type. You should only access it via the public API functions.


struct InfcBrowserClass

struct InfcBrowserClass {
  void (*error)(InfcBrowser* browser,
                const GError* error);

  void (*node_added)(InfcBrowser* browser,
                     InfcBrowserIter* iter);

  void (*node_removed)(InfcBrowser* browser,
                       InfcBrowserIter* iter);

  void (*subscribe_session)(InfcBrowser* browser,
                            InfcBrowserIter* iter,
                            InfcSessionProxy* proxy);

  void (*begin_explore)(InfcBrowser* browser,
                        InfcBrowserIter* iter,
                        InfcExploreRequest* request);

  void (*begin_subscribe)(InfcBrowser* browser,
                          InfcBrowserIter* iter,
                          InfcNodeRequest* request);
};

Signals for the InfcBrowser class.

Members

error ()

Default signal handler for the “error” signal.

 

node_added ()

Default signal handler for the “node_added” signal.

 

node_removed ()

Default signal handler for the “node_removed” signal.

 

subscribe_session ()

Default signal handler for the “subscribe_session” signal.

 

begin_explore ()

Default signal handler for the “begin_explore” signal.

 

begin_subscribe ()

Default signal handler for the “begin_subscribe” signal.

 

Property Details

The “chat-session” property

  “chat-session”             InfcSessionProxy *

Active chat session.

Flags: Read


The “communication-manager” property

  “communication-manager”    InfCommunicationManager *

The communication manager for the browser.

Flags: Read / Write / Construct Only


The “connection” property

  “connection”               InfXmlConnection *

Connection to the server exposing the directory to browse.

Flags: Read / Write / Construct Only


The “io” property

  “io”                       InfIo *

The InfIo to schedule timeouts.

Flags: Read / Write / Construct Only


The “status” property

  “status”                   InfcBrowserStatus

The current connectivity status of the browser.

Flags: Read

Default value: INFC_BROWSER_DISCONNECTED

Signal Details

The “begin-explore” signal

void
user_function (InfcBrowser        *browser,
               InfcBrowserIter    *iter,
               InfcExploreRequest *request,
               gpointer            user_data)

This signal is emitted when a subdirectory is started to be explored. request can be used to get notified when the exploration was finished.

Parameters

browser

The InfcBrowser emitting the siganl.

 

iter

A InfcBrowserIter pointing to the node being explored.

 

request

A InfcExploreRequest for the operation.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “begin-subscribe” signal

void
user_function (InfcBrowser     *browser,
               InfcBrowserIter *iter,
               InfcNodeRequest *request,
               gpointer         user_data)

This signal is emitted whenever a subscription request for a (non-subdirectory) node is made. Note that the subscription may still fail (connect to “finished” and “failed” to be notified).

If iter is NULL the signal refers to the chat session, otherwise it points to the node to whose session the client requested a subscription.

Parameters

browser

The InfcBrowser emitting the signal.

 

iter

A InfcBrowserIter pointing to the node to which the subscription starts, or NULL.

 

request

A InfcNodeRequest for the operation.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “error” signal

void
user_function (InfcBrowser *browser,
               gpointer     error,
               gpointer     user_data)

This signal is emitted whenever an error occured. If the browser's underlying InfXmlConnection produces emits “error”, then this signal will be emitted with the corresponding error as well. Also, if another error occurs on the browser level this signal is emitted. It may or may not be fatal. If it is fatal then the browser's status will change to INFC_BROWSER_DISCONNECTED.

Parameters

browser

The InfcBrowser emitting the signal.

 

error

A GError * saying what's wrong.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “node-added” signal

void
user_function (InfcBrowser     *browser,
               InfcBrowserIter *iter,
               gpointer         user_data)

Emitted when a new node was added in the browser. This can happen either while exploring a subdirectory, or when a new node was added on the server. In the latter case the signal is only emitted when the parent directory of the newly created node is already explored.

Parameters

browser

The InfcBrowser emitting the siganl.

 

iter

A InfcBrowserIter pointing to the created node.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “node-removed” signal

void
user_function (InfcBrowser     *browser,
               InfcBrowserIter *iter,
               gpointer         user_data)

This signal is emitted every time a node is removed from the browser. This happens when the corresponding node is removed at the server. The signal is emitted only when the parent directory of the removed node is already explored. The signal can also be emitted on non-empty subdirectory nodes in which case all children are also removed.

Parameters

browser

The InfcBrowser emitting the siganl.

 

iter

A InfcBrowserIter pointing to the removed node.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “subscribe-session” signal

void
user_function (InfcBrowser      *browser,
               InfcBrowserIter  *iter,
               InfcSessionProxy *proxy,
               gpointer          user_data)

Emitted when subscribed to a session. The subscription was successful, but the synchronization (the server sending the initial session state) might still fail. Use “synchronization-complete” and “synchronization-failed” to be notified.

If iter is NULL this is a subscription to the chat. This guarantees proxy 's session to be a InfChatSession. If iter is non-NULL this is a subscription to the session of the node pointed to by iter .

Parameters

browser

The InfcBrowser emitting the siganl.

 

iter

A InfcBrowserIter pointing to the subscribed node, or NULL.

 

proxy

A InfcSessionProxy for the subscribed session.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

See Also

InfdDirectory