InfAdoptedSessionReplay

InfAdoptedSessionReplay — Replay a record of a session

Stability Level

Unstable, unless otherwise indicated

Functions

Properties

Types and Values

Object Hierarchy

    GObject
    ╰── InfAdoptedSessionReplay

Includes

#include <libinfinity/adopted/inf-adopted-session-replay.h>

Description

InfAdoptedSessionReplay can be used to replay a record created with InfAdoptedSessionRecord.

Use inf_adopted_session_replay_set_record() to specify the recording to replay, and then use inf_adopted_session_replay_get_session() to obtain the replayed session.

Functions

inf_adopted_session_replay_new ()

InfAdoptedSessionReplay *
inf_adopted_session_replay_new (void);

Creates a new InfAdoptedSessionReplay. Use inf_adopted_session_replay_set_record() to start the recording, and inf_adopted_session_replay_play_next() or inf_adopted_session_replay_play_to_end() to play it.

Returns

A new InfAdoptedSessionReplay. Free with g_object_unref() when no longer in use.


inf_adopted_session_replay_set_record ()

gboolean
inf_adopted_session_replay_set_record (InfAdoptedSessionReplay *replay,
                                       const gchar *filename,
                                       const InfcNotePlugin *plugin,
                                       GError **error);

Set the record file for replay to play. It should have been created with InfAdoptedSessionRecord. plugin should match the type of the recorded session. If an error occurs, the function returns FALSE and error is set.

Parameters

replay

A InfAdoptedSessionReplay.

 

filename

Path to the record file to play.

 

plugin

A InfcNotePlugin for the note type of the recorded session.

 

error

Location to store error information, if any.

 

Returns

TRUE on success, or FALSE if the record file could not be set.


inf_adopted_session_replay_get_session ()

InfAdoptedSession *
inf_adopted_session_replay_get_session
                               (InfAdoptedSessionReplay *replay);

Returns the played back session, or NULL if inf_adopted_session_replay_set_record() was not yet called.

Parameters

Returns

A InfAdoptedSessionReplay, or NULL.


inf_adopted_session_replay_play_next ()

gboolean
inf_adopted_session_replay_play_next (InfAdoptedSessionReplay *replay,
                                      GError **error);

Reads the next request from the record and passes it to the session. Note that this might do nothing if that request is not yet causally ready, meaning that it depends on another request that has not yet been played. In that case it will be executed as soon as it is ready, that is after some future inf_adopted_session_replay_play_next() call. Therefore, it is also possible that this function executes more than one request.

If an error occurs, then this function returns FALSE and error is set. If the end of the recording is reached, then it also returns FALSE, but error is left untouched. If the next request has been read, then it returns TRUE.

Parameters

replay

A InfAdoptedSessionReplay.

 

error

Location to store error information, if any.

 

Returns

TRUE if a request was read, otherwise FALSE.


inf_adopted_session_replay_play_to_end ()

gboolean
inf_adopted_session_replay_play_to_end
                               (InfAdoptedSessionReplay *replay,
                                GError **error);

Plays all requests that are contained in the recording, so that the replay's session has the same state as the recorded session when the recording was stopped.

Note that, depending on the size of the record, this function may take some time to finish.

If an error occurs during replay, then the function returns FALSE and error is set. Otherwise it returns TRUE.

Parameters

replay

A InfAdoptedSessionReplay.

 

error

Location to store error information, if any.

 

Returns

TRUE on success, or FALSE if an error occurs.

Types and Values

enum InfAdoptedSessionReplayError

Error codes for the INF_ADOPTED_SESSION_REPLAY_ERROR error domain. These can occur while loading or replaying a session with InfAdoptedSessionReplay.

Members

INF_ADOPTED_SESSION_REPLAY_ERROR_BAD_FILE

The record file could not be opened for reading.

 

INF_ADOPTED_SESSION_REPLAY_ERROR_BAD_XML

The record file contains invalid XML.

 

INF_ADOPTED_SESSION_REPLAY_ERROR_BAD_DOCUMENT

The record file is not a session recording.

 

INF_ADOPTED_SESSION_REPLAY_ERROR_BAD_SESSION_TYPE

The record file is a session recording for a different type of session than the one provided.

 

INF_ADOPTED_SESSION_REPLAY_ERROR_BAD_FORMAT

The record file is invalid.

 

INF_ADOPTED_SESSION_REPLAY_ERROR_UNEXPECTED_EOF

More data was expected to be read from the record file, but the end of file was reached.

 

struct InfAdoptedSessionReplay

struct InfAdoptedSessionReplay;

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


struct InfAdoptedSessionReplayClass

struct InfAdoptedSessionReplayClass {
};

This structure does not contain any public fields.

Property Details

The “filename” property

  “filename”                 gchar *

The filename of the record to play.

Flags: Read

Default value: NULL


The “session” property

  “session”                  InfAdoptedSession *

The replayed session.

Flags: Read

See Also

InfAdoptedSession, InfAdoptedSessionRecord