SbuildAuthMessage and SbuildAuthMessageVector

SbuildAuthMessage and SbuildAuthMessageVector — SbuildAuth messages

Synopsis




            SbuildAuthMessage;
            SbuildAuthMessageVector;
enum        SbuildAuthMessageType;
SbuildAuthMessage* sbuild_auth_message_copy (SbuildAuthMessage *message);
void        sbuild_auth_message_free        (SbuildAuthMessage *message);
SbuildAuthMessageVector* sbuild_auth_message_vector_new
                                            (guint size);
SbuildAuthMessageVector* sbuild_auth_message_vector_copy
                                            (SbuildAuthMessageVector *messagev);
void        sbuild_auth_message_vector_free (SbuildAuthMessageVector *messagev);

Description

When SbuildAuth needs to interact with the user, it does this by sending a set of SbuildAuthMessage structures to an SbuildAuthConv conversation object. These messages tell the conversation object how to display the message to the user, and if necessary, whether or not to ask the user for some input.

Details

SbuildAuthMessage

typedef struct {
  SbuildAuthMessageType  type;
  const gchar           *message;
  gchar                 *response;
  gpointer               user_data;
} SbuildAuthMessage;

SBuildAuth message structure.

SbuildAuthMessageType type; the type of message.
const gchar *message; the message to display or use as a prompt.
gchar *response; the response (if any) to return.
gpointer user_data; SbuilAuthConv implementation-dependent data.

SbuildAuthMessageVector

typedef struct {
  volatile gint       refcount;
  SbuildAuthMessage **messages;
} SbuildAuthMessageVector;

A vector of SbuildAuthMessage structures.

volatile gint refcount; the reference count.
SbuildAuthMessage **messages; a vector of SbuildAuthMessage structures.

enum SbuildAuthMessageType

typedef enum
{
  SBUILD_AUTH_MESSAGE_PROMPT_NOECHO = PAM_PROMPT_ECHO_OFF,
  SBUILD_AUTH_MESSAGE_PROMPT_ECHO = PAM_PROMPT_ECHO_ON,
  SBUILD_AUTH_MESSAGE_ERROR = PAM_ERROR_MSG,
  SBUILD_AUTH_MESSAGE_INFO = PAM_TEXT_INFO
} SbuildAuthMessageType;

The type of message.

SBUILD_AUTH_MESSAGE_PROMPT_NOECHO Prompt for input, but don't echo.
SBUILD_AUTH_MESSAGE_PROMPT_ECHO Prompt for input, and echo.
SBUILD_AUTH_MESSAGE_ERROR Display an error message.
SBUILD_AUTH_MESSAGE_INFO Display an informational message.

sbuild_auth_message_copy ()

SbuildAuthMessage* sbuild_auth_message_copy (SbuildAuthMessage *message);

Copy a message.

message : an SbuildAuthMessage
Returns : a newly allocated copy of message. This must be freed by the caller.

sbuild_auth_message_free ()

void        sbuild_auth_message_free        (SbuildAuthMessage *message);

Free message.

message : an SbuildAuthMessage

sbuild_auth_message_vector_new ()

SbuildAuthMessageVector* sbuild_auth_message_vector_new
                                            (guint size);

Create a new SbuildAuthMessageVector with space for size messages.

size : the number of messages.
Returns : a new SbuildAuthMessageVector.

sbuild_auth_message_vector_copy ()

SbuildAuthMessageVector* sbuild_auth_message_vector_copy
                                            (SbuildAuthMessageVector *messagev);

Copy a message vector. This increases the reference count of messagev, so no actual copying takes place.

messagev : an SbuildAuthMessageVector
Returns : messagev.

sbuild_auth_message_vector_free ()

void        sbuild_auth_message_vector_free (SbuildAuthMessageVector *messagev);

Free a message vector. This decreases the reference count of messagev, and finally frees it when the reference count reaches 0.

messagev : an SbuildAuthMessageVector