RBTrackTransferQueue

RBTrackTransferQueue — track transfer queue and surrounding junk

Properties

RBTrackTransferBatch * batch Read
RBShell * shell Read / Write / Construct Only

Types and Values

Object Hierarchy

    GObject
    ╰── RBTrackTransferQueue

Description

Functions

rb_track_transfer_queue_new ()

RBTrackTransferQueue *
rb_track_transfer_queue_new (RBShell *shell);

Creates the RBTrackTransferQueue instance

Parameters

shell

the RBShell

 

Returns

the RBTrackTransferQueue


rb_track_transfer_queue_start_batch ()

void
rb_track_transfer_queue_start_batch (RBTrackTransferQueue *queue,
                                     RBTrackTransferBatch *batch);

Adds a new transfer batch to the transfer queue; if the queue is currently empty, the transfer will start immediately, but not before the call returns.

Parameters

queue

the RBTrackTransferQueue

 

batch

the RBTrackTransferBatch to add to the queue

 

rb_track_transfer_queue_cancel_batch ()

void
rb_track_transfer_queue_cancel_batch (RBTrackTransferQueue *queue,
                                      RBTrackTransferBatch *batch);

Removes a transfer batch from the queue. If an entry from the batch is currently being transferred, the transfer will be aborted.

Parameters

queue

the RBTrackTransferQueue

 

batch

the RBTrackTransferBatch to cancel, or NULL for the current batch

 

rb_track_transfer_queue_find_batch_by_source ()

GList *
rb_track_transfer_queue_find_batch_by_source
                               (RBTrackTransferQueue *queue,
                                RBSource *source);

Finds all transfer batches where source is the source or destination. This should be used to wait for transfers to finish (or cancel them) before ejecting a device. The transfer batches are returned in the order they're found in the queue, so waiting for the RBTrackTransferBatch ::complete signal on the last one is sufficient to wait for them all to finish.

Parameters

queue

the RBTrackTransferQueue

 

source

the RBSource to search for

 

Returns

GList of RBTrackTransferBatch objects, not referenced.

[element-type RBTrackTransferBatch][transfer container]

Types and Values

struct RBTrackTransferQueue

struct RBTrackTransferQueue;

struct RBTrackTransferQueueClass

struct RBTrackTransferQueueClass {
	GObjectClass parent_class;

	/* signals */
	void (*transfer_progress) (RBTrackTransferQueue *queue,
					 int done,
					 int total,
					 double fraction,
					 int time_left);
};

Property Details

The “batch” property

  “batch”                    RBTrackTransferBatch *

The current RBTrackTransferBatch being processed

Flags: Read


The “shell” property

  “shell”                    RBShell *

The RBShell

Flags: Read / Write / Construct Only

Signal Details

The “missing-plugins” signal

gboolean
user_function (RBTrackTransferQueue *queue,
               GStrv                 details,
               GStrv                 descriptions,
               GClosure             *closure,
               gpointer              user_data)

Emitted to request installation of one or more encoder plugins for a destination media format. When the closure included in the signal args is called, the transfer batch will be started.

Parameters

queue

the RBTrackTransferQueue

 

details

the list of plugin detail strings describing the missing plugins

 

descriptions

the list of descriptions for the missing plugins

 

closure

a GClosure to be called when the plugin installation is complete

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “transfer-progress” signal

void
user_function (RBTrackTransferQueue *queue,
               gint                  done,
               gint                  total,
               gdouble               fraction,
               gint                  time_left,
               gpointer              user_data)

Emitted regularly to convey progress information. At the end of any given transfer batch, there will be one signal emission with done == total and fraction == 1.0.

Parameters

queue

the RBTrackTransferQueue

 

done

the number of entries transferred

 

total

the total number of entries in the batch

 

fraction

the fraction of the batch that has been transferred

 

time_left

the estimated remaining time (in seconds)

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last