csa_restore

library call

`csa_restore`

restores calendar entries from an archive file

    #include <xcsa.h>

    CSA_return_code csa_restore
    CSA_session_handle session
    CSA_string archive_name
    CSA_uint32 number_attributes
    CSA_attribute *attributes
    CSA_enum *operators
    CSA_extension *restore_extensions

## DESCRIPTION

This optional function is not implemented in the &str-XZ; 1.0 Sample Implementation. ]]> The `csa_restore` function restores entries from the specified archive file into the calendar that is currently logged on to. Only calendar entries that match all the given criteria are restored. It is implementation specific whether new entry handles will be assigned to the entries restored. If attributes is `NULL`, all the entries in the archive file will be restored. If operators is `NULL`, this specifies a short hand for an array of operators of `CSA_MATCH_EQUAL_TO.` Only the owner of the calendar or users with `CSA_OWNER_RIGHTS` can restore an archive file.

The matching criteria are specified by the array of attributes and the array of operators. Each operator in operators specifies how the corresponding attribute value is to be matched. The following operators are supported:

CSA_MATCH_ANY

- Matches an entry that contains the corresponding attribute regardless of the value.

CSA_MATCH_EQUAL_TO

- Matches an entry that contains an attribute with a value equal to the corresponding value.

CSA_MATCH_NOT_EQUAL_TO

- Matches an entry that contains an attribute with a value not equal to the corresponding value.

CSA_MATCH_GREATER_THAN

- Matches an entry that contains an attribute with a value greater than the corresponding value.

CSA_MATCH_LESS_THAN

- Matches an entry that contains an attribute with a value less than the corresponding value.

CSA_MATCH_GREATHER_THAN_OR_EQUAL_TO

- Matches an entry that contains an attribute with a value greater than or equal to the corresponding value.

CSA_MATCH_LESS_THAN_OR_EQUAL_TO

- Matches an entry that contains an attribute with a value less than or equal to the corresponding value.

CSA_MATCH_CONTAIN

- Applies to character string values only. It matches an entry that contains the corresponding substring value. The only operators supported for reminder type attributes are `CSA_MATCH_ANY` and `CSA_MATCH_EQUAL_TO.` Searching of attributes with opaque data type is not supported.

## ARGUMENTS

### Session (Session Handle)

Opaque session handle that represents a session with the calendar service.

Session handles are created by a logon function call and invalidate with a logoff function call. If the session handle is invalid then, the error `CSA_E_INVALID_SESSION_HANDLE` is returned.

### Archive Name (String)

A string containing the name of the archive file on the local system.

### Number Attributes (Uint32)

Specifies the size of the arrays pointed to by attributes and operators. If the attributes argument is `NULL`, then this must be zero.

### Attributes (Attribute)

A pointer to an array of attribute structures specifying the matching criteria. If the number_attributes argument is zero, then this must be `NULL`.

### Operators (Enum)

A pointer to an array of matching operator flags for the corresponding attribute in attributes.

### Restore Extensions (Extension)

A pointer to an array of CSA_extension structures for this function. The array may contain both input extensions for providing additional information to the function and output extensions for receiving information from the function. A value of `NULL` indicates that the caller is not using any extensions. See the extensions structure for more information.

## RETURN VALUE

### Restore Extensions (Extension)

If output extensions were passed to the function in the extensions list, the results from the service will be available in the extension. See the extensions structure for more information. Whether the function succeeded or not, and, if not, why. It may be success or one of the values listed under ERRORS below.

## ERRORS

The `csa_restore` function returns the following error values:

CSA_E_DISK_FULL

- Insufficient disk space was available to complete the requested operation (this may refer to local or shared disk space).

CSA_E_FAILURE

- There was a general failure that does not fit the description of any other error code.

CSA_E_FILE_NOT_EXIST

- The specified file in csa_restore does not exist.

CSA_E_INSUFFICIENT_MEMORY

- Insufficient memory was available to complete the requested operation.

CSA_E_INVALID_ATTRIBUTE

- An attribute was specified that was not defined by this specification and the implementation does not support the attribute as an application specific attribute.

CSA_E_INVALID_ATTRIBUTE_VALUE

- An invalid attribute value was specified for an attribute.

CSA_E_INVALID_DATA_EXT

- The data extension requested is invalid.

CSA_E_INVALID_ENUM

- A CSA_enum value is invalid.

CSA_E_INVALID_FLAG

- A flag value in the flags argument was invalid.

CSA_E_INVALID_FILE_NAME

- An invalid file name was specified.

CSA_E_INVALID_FUNCTION_EXT

- The function extension requested is invalid.

CSA_E_INVALID_PARAMETER

- A function parameter was invalid.

CSA_E_INVALID_RULE

- The implementation does not understand the exception or recurrence rule.

CSA_E_INVALID_SESSION_HANDLE

- The specified Session Handle is invalid or no longer valid (e.g., after logging off).

CSA_E_NO_AUTHORITY

- The user has insufficient authority for this function.

CSA_E_NOT_SUPPORTED

- The operation requested is not supported by this implementation.

CSA_E_SERVICE_UNAVAILABLE

- The requested calendar service is unavailable.

CSA_E_TEXT_TOO_LARGE

- The size of the text string passed to the implementation is too large.

CSA_E_UNABLE_TO_OPEN_FILE

- Unable to open the specified file.

CSA_E_UNSUPPORTED_ATTRIBUTE

- An attribute was encountered that is unsupported by the calendar service.

CSA_E_UNSUPPORTED_CHARACTER_SET

- The character set requested is not supported.

CSA_E_UNSUPPORTED_DATA_EXT

- The data extension requested is not supported.

CSA_E_UNSUPPORTED_FLAG

- The flag requested is not supported.

CSA_E_UNSUPPORTED_FUNCTION_EXT

- The specified function extension is not supported or `CSA_EXT_REQUIRED` is set.

CSA_E_UNSUPPORTED_VERSION

- The specification version specified in the call cannot be supported by this CSA implementation.

## SEE ALSO

&cdeman.csa.csa.h;, &cdeman.csa.add.calendar;, &cdeman.csa.add.entry;, &cdeman.csa.call.callbacks;, &cdeman.csa.delete.calendar;, &cdeman.csa.delete.entry;, &cdeman.csa.free;, &cdeman.csa.free.time.search;, &cdeman.csa.list.calendar.attributes;, &cdeman.csa.list.calendars;, &cdeman.csa.list.entries;, &cdeman.csa.list.entry.attributes;, &cdeman.csa.list.entry.sequence;, &cdeman.csa.logoff;, &cdeman.csa.logon;, &cdeman.csa.look.up;, &cdeman.csa.query.configuration;, &cdeman.csa.read.calendar.attributes;, &cdeman.csa.read.entry.attributes;, &cdeman.csa.read.next.reminder;, &cdeman.csa.register.callback;, &cdeman.csa.save;, &cdeman.csa.unregister.callback;, &cdeman.csa.update.calendar.attributes;, &cdeman.csa.update.entry.attributes;.

]]>