webuiprefs-1 - API for WebUI preferences
#include <rad/client/1/webuiprefs.h>
cc [ flag... ] file... -lwebuiprefs1_client [ library... ]
interface Preferences
const char * apps ; (ro)
const char * system ; (ro)
const char * user ; (rw)
const char ** import_formats ; (ro)
rc_err_t webuiprefs_Preferences_initialize(rc_instance_t *inst,
const char *base_dir,
const char *username,
webuiprefs_PreferencesError_t **error);
rc_err_t webuiprefs_Preferences_validate_json(rc_instance_t *inst,
const char *json_string,
boolean_t *is_schema,
const char *import_format,
char **result);
rc_err_t webuiprefs_Preferences_import_files(rc_instance_t *inst,
const char *format_name,
const char **files,
int files_count,
webuiprefs_ImportSummary_t **result,
webuiprefs_PreferencesError_t **error);
rc_err_t webuiprefs_Preferences_import_string(rc_instance_t *inst,
const char *format_name,
const char *json_string,
char **result,
webuiprefs_PreferencesError_t **error);
rc_err_t webuiprefs_Preferences_export_string(rc_instance_t *inst,
const char *format_name,
const char *json_string,
char **result,
webuiprefs_PreferencesError_t **error);
rc_err_t webuiprefs_Preferences_export_by_id(rc_instance_t *inst,
const char *format_name,
const char **id_list,
int id_list_count,
char **result,
webuiprefs_PreferencesError_t **error);
rc_err_t webuiprefs_Preferences_get_exportable_ids(rc_instance_t *inst,
const char *format_name,
webuiprefs_ExportableIds_t ***result,
int *result_cnt,
webuiprefs_PreferencesError_t **error);
rc_err_t webuiprefs_Preferences_verify_existing_ids(rc_instance_t *inst,
const char *format_name,
const char **id_list,
int id_list_count,
char ***result,
int *result_cnt,
webuiprefs_PreferencesError_t **error);
Enumerated Types
enum ERROR_TYPE
typedef enum webuiprefs_ERROR_TYPE {
WERRORTYPE_RUNTIME_ERROR = 0,
WERRORTYPE_PARSING_ERROR = 1,
WERRORTYPE_INVALID_VALUE = 2,
WERRORTYPE_INSUFFICIENT_ARGUMENTS = 3,
WERRORTYPE_INSUFFICIENT_AUTHORIZATION = 4,
} webuiprefs_ERROR_TYPE_t;
Structured Types
struct PreferencesError
typedef struct webuiprefs_PreferencesError
webuiprefs_PreferencesError_t;
struct webuiprefs_PreferencesError {
webuiprefs_ERROR_TYPE_t wpe_error_type;
char *wpe_reason;
};
void webuiprefs_PreferencesError_free(webuiprefs_PreferencesError_t *in);
struct FileImportError
typedef struct webuiprefs_FileImportError
webuiprefs_FileImportError_t;
struct webuiprefs_FileImportError {
char *wfie_file_path;
char *wfie_errors;
};
void webuiprefs_FileImportError_free(webuiprefs_FileImportError_t *in);
struct FormatSummary
typedef struct webuiprefs_FormatSummary webuiprefs_FormatSummary_t;
struct webuiprefs_FormatSummary {
char *wfs_format;
char **wfs_imported_files;
int wfs_imported_files_count;
webuiprefs_FileImportError_t **wfs_failed_files;
int wfs_failed_files_count;
webuiprefs_FileImportError_t **wfs_missing_files;
int wfs_missing_files_count;
char **wfs_skipped_files;
int wfs_skipped_files_count;
char *wfs_errors;
};
void webuiprefs_FormatSummary_free(webuiprefs_FormatSummary_t *in);
struct ImportSummary
typedef struct webuiprefs_ImportSummary webuiprefs_ImportSummary_t;
struct webuiprefs_ImportSummary {
int wis_num_found_files;
int wis_num_imported_files;
int wis_num_failed_files;
int wis_num_missing_files;
int wis_num_skipped_files;
webuiprefs_FormatSummary_t **wis_format_summaries;
int wis_format_summaries_count;
char *wis_errors;
};
void webuiprefs_ImportSummary_free(webuiprefs_ImportSummary_t *in);
struct ExportableIds
typedef struct webuiprefs_ExportableIds webuiprefs_ExportableIds_t;
struct webuiprefs_ExportableIds {
char *wei_identifier;
char *wei_format_module;
char *wei_id_type;
char *wei_description;
webuiprefs_ExportableIds_t **wei_contains;
int wei_contains_count;
};
void webuiprefs_ExportableIds_free(webuiprefs_ExportableIds_t *in);
WEBUIPREFS-1(3rad) RAD Module Definitions WEBUIPREFS-1(3rad)
NAME
webuiprefs - API for WebUI preferences
SYNOPSIS
#include <rad/client/1/webuiprefs.h>
cc [ flag... ] file... -lwebuiprefs1_client [ library... ]
interface Preferences
const char * apps ; (ro)
const char * system ; (ro)
const char * user ; (rw)
const char ** import_formats ; (ro)
rc_err_t webuiprefs_Preferences_initialize(rc_instance_t *inst,
const char *base_dir,
const char *username,
webuiprefs_PreferencesError_t **error);
rc_err_t webuiprefs_Preferences_validate_json(rc_instance_t *inst,
const char *json_string,
boolean_t *is_schema,
const char *import_format,
char **result);
rc_err_t webuiprefs_Preferences_import_files(rc_instance_t *inst,
const char *format_name,
const char **files,
int files_count,
webuiprefs_ImportSummary_t **result,
webuiprefs_PreferencesError_t **error);
rc_err_t webuiprefs_Preferences_import_string(rc_instance_t *inst,
const char *format_name,
const char *json_string,
char **result,
webuiprefs_PreferencesError_t **error);
rc_err_t webuiprefs_Preferences_export_string(rc_instance_t *inst,
const char *format_name,
const char *json_string,
char **result,
webuiprefs_PreferencesError_t **error);
rc_err_t webuiprefs_Preferences_export_by_id(rc_instance_t *inst,
const char *format_name,
const char **id_list,
int id_list_count,
char **result,
webuiprefs_PreferencesError_t **error);
rc_err_t webuiprefs_Preferences_get_exportable_ids(rc_instance_t *inst,
const char *format_name,
webuiprefs_ExportableIds_t ***result,
int *result_cnt,
webuiprefs_PreferencesError_t **error);
rc_err_t webuiprefs_Preferences_verify_existing_ids(rc_instance_t *inst,
const char *format_name,
const char **id_list,
int id_list_count,
char ***result,
int *result_cnt,
webuiprefs_PreferencesError_t **error);
Enumerated Types
enum ERROR_TYPE
typedef enum webuiprefs_ERROR_TYPE {
WERRORTYPE_RUNTIME_ERROR = 0,
WERRORTYPE_PARSING_ERROR = 1,
WERRORTYPE_INVALID_VALUE = 2,
WERRORTYPE_INSUFFICIENT_ARGUMENTS = 3,
WERRORTYPE_INSUFFICIENT_AUTHORIZATION = 4,
} webuiprefs_ERROR_TYPE_t;
Structured Types
struct PreferencesError
typedef struct webuiprefs_PreferencesError
webuiprefs_PreferencesError_t;
struct webuiprefs_PreferencesError {
webuiprefs_ERROR_TYPE_t wpe_error_type;
char *wpe_reason;
};
void webuiprefs_PreferencesError_free(webuiprefs_PreferencesError_t *in);
struct FileImportError
typedef struct webuiprefs_FileImportError
webuiprefs_FileImportError_t;
struct webuiprefs_FileImportError {
char *wfie_file_path;
char *wfie_errors;
};
void webuiprefs_FileImportError_free(webuiprefs_FileImportError_t *in);
struct FormatSummary
typedef struct webuiprefs_FormatSummary webuiprefs_FormatSummary_t;
struct webuiprefs_FormatSummary {
char *wfs_format;
char **wfs_imported_files;
int wfs_imported_files_count;
webuiprefs_FileImportError_t **wfs_failed_files;
int wfs_failed_files_count;
webuiprefs_FileImportError_t **wfs_missing_files;
int wfs_missing_files_count;
char **wfs_skipped_files;
int wfs_skipped_files_count;
char *wfs_errors;
};
void webuiprefs_FormatSummary_free(webuiprefs_FormatSummary_t *in);
struct ImportSummary
typedef struct webuiprefs_ImportSummary webuiprefs_ImportSummary_t;
struct webuiprefs_ImportSummary {
int wis_num_found_files;
int wis_num_imported_files;
int wis_num_failed_files;
int wis_num_missing_files;
int wis_num_skipped_files;
webuiprefs_FormatSummary_t **wis_format_summaries;
int wis_format_summaries_count;
char *wis_errors;
};
void webuiprefs_ImportSummary_free(webuiprefs_ImportSummary_t *in);
struct ExportableIds
typedef struct webuiprefs_ExportableIds webuiprefs_ExportableIds_t;
struct webuiprefs_ExportableIds {
char *wei_identifier;
char *wei_format_module;
char *wei_id_type;
char *wei_description;
webuiprefs_ExportableIds_t **wei_contains;
int wei_contains_count;
};
void webuiprefs_ExportableIds_free(webuiprefs_ExportableIds_t *in);
DESCRIPTION
API com.oracle.solaris.rad.webuiprefs [1]
INTERFACES
interface Preferences
Singleton preferences object
Preferences Properties
const char * apps (read-only, nullable)
Information about the applications that the user has access to.
The output is a JSON object in the format: { app_url_base: <app
URL base> (e.g. bui) apps: { "app_1": { schema: [<JSON
Schemas]... }, "app_2": { schema: [<JSON Schemas]... } ... }
"global_schema": [<JSON Schema files>] }
rc_err_t webuiprefs_Preferences_get_apps(rc_instance_t *inst,
char **result,
webuiprefs_PreferencesError_t **error);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
error
Read Error: webuiprefs_PreferencesError_t **
const char * system (read-only, nullable) -- The system
preferences, in JSON format.
rc_err_t webuiprefs_Preferences_get_system(rc_instance_t *inst,
char **result,
webuiprefs_PreferencesError_t **error);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
error
Read Error: webuiprefs_PreferencesError_t **
const char * user (read-write, nullable) -- The authorized user's
own preferences in JSON format, which is modifiable.
rc_err_t webuiprefs_Preferences_get_user(rc_instance_t *inst,
char **result,
webuiprefs_PreferencesError_t **error);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
error
rc_err_t webuiprefs_Preferences_set_user(rc_instance_t *inst,
const char *user,
webuiprefs_PreferencesError_t **error);
Set property value.
Arguments:
inst -- RAD instance
user -- Property value written
error
Read-Write Error: webuiprefs_PreferencesError_t **
const char ** import_formats (read-only, nullable)
Get a list of import formats available
rc_err_t webuiprefs_Preferences_get_import_formats(rc_instance_t *inst,
char ***result,
int *result_cnt,
webuiprefs_PreferencesError_t **error);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
result_cnt -- Number of items in result array
error
Read Error: webuiprefs_PreferencesError_t **
Preferences Methods
rc_err_t webuiprefs_Preferences_initialize(rc_instance_t *inst,
const char *base_dir,
const char *username,
webuiprefs_PreferencesError_t **error);
Initialize the module, optional.
Arguments:
inst -- RAD instance
base_dir (nullable)
username (nullable)
error
rc_err_t webuiprefs_Preferences_validate_json(rc_instance_t *inst,
const char *json_string,
boolean_t *is_schema,
const char *import_format,
char **result);
Validate the supplied JSON string.
If is_schema is provided it will validate the JSON string as a
new JSON Schema, against the currently used JSON Standard.
If import_format is provided it will validate the JSON string
against the specified import format (e.g. 'analytics').
Otherwise, unless is_schema is true, it will be validated
against the preferences own JSON Schema.
Returns None if there are no errors, otherwise a string
containing the available error messages.
Arguments:
inst -- RAD instance
json_string
is_schema (nullable)
import_format (nullable)
result
rc_err_t webuiprefs_Preferences_import_files(rc_instance_t *inst,
const char *format_name,
const char **files,
int files_count,
webuiprefs_ImportSummary_t **result,
webuiprefs_PreferencesError_t **error);
Look for files to be imported into the WebUI Preferences
configuration.
The directories searched will depend on each import module.
Optionally, you may specify the format name for the files to be
imported.
Returns an ImportSummary structure with details of the actions
performed.
Arguments:
inst -- RAD instance
format_name (nullable)
files (nullable)
files_count -- Number of items in files array
result
error
rc_err_t webuiprefs_Preferences_import_string(rc_instance_t *inst,
const char *format_name,
const char *json_string,
char **result,
webuiprefs_PreferencesError_t **error);
Import the provided JSON string in the specified import format
name.
Returns the converted preferences
If there are errors found when performing the import, then a
PreferencesError will be raised
Arguments:
inst -- RAD instance
format_name (nullable)
json_string (nullable)
result
error
rc_err_t webuiprefs_Preferences_export_string(rc_instance_t *inst,
const char *format_name,
const char *json_string,
char **result,
webuiprefs_PreferencesError_t **error);
Export the provided JSON string in the specified export format
name.
Returns the converted preferences
If there are errors found when performing the export, then a
PreferencesError will be raised
Arguments:
inst -- RAD instance
format_name (nullable)
json_string (nullable)
result
error
rc_err_t webuiprefs_Preferences_export_by_id(rc_instance_t *inst,
const char *format_name,
const char **id_list,
int id_list_count,
char **result,
webuiprefs_PreferencesError_t **error);
Export the specified identifiers (UUIDs) to a JSON string in
the specified export format name.
Returns the converted preferences
If there are errors found when performing the export, then a
PreferencesError will be raised
Arguments:
inst -- RAD instance
format_name
id_list
id_list_count -- Number of items in id_list array
result
error
rc_err_t webuiprefs_Preferences_get_exportable_ids(rc_instance_t *inst,
const char *format_name,
webuiprefs_ExportableIds_t ***result,
int *result_cnt,
webuiprefs_PreferencesError_t **error);
Get property value.
Arguments:
inst -- RAD instance
format_name (nullable) -- Property value returned
result
result_cnt -- Number of items in result array
error
rc_err_t webuiprefs_Preferences_verify_existing_ids(rc_instance_t *inst,
const char *format_name,
const char **id_list,
int id_list_count,
char ***result,
int *result_cnt,
webuiprefs_PreferencesError_t **error);
Given a list of identifiers (UUIDs) check if they exist in the
specified export format name.
Returns a list of identifiers that do NOT exist.
If there are errors found when performing the check, then a
PreferencesError will be raised
Arguments:
inst -- RAD instance
format_name
id_list
id_list_count -- Number of items in id_list array
result
result_cnt -- Number of items in result array
error
Preferences Retrieve
rc_err_t webuiprefs_Preferences__rad_get_name(adr_name_t **result,
int n,
...);
Obtain RAD name of a Preferences object.
Arguments:
result -- RAD name
n -- Number of key-value pairs provided as variadic arguments
... -- Optional key-value pairs that compose the primary key
rc_err_t webuiprefs_Preferences__rad_lookup(rc_conn_t *c,
boolean_t strict,
rc_instance_t **result,
int n,
...);
Lookup a Preferences instance.
Construct a RAD name for the interface based on the provided
key-value pairs and perform a lookup. If successful, instance
reference is returned in the result.
Arguments:
c -- RAD connection handle
strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning
result -- RAD instance
n -- Number of key-value pairs provided as variadic arguments
... -- Optional key-value pairs that compose the primary key
rc_err_t webuiprefs_Preferences__rad_list(rc_conn_t *c,
boolean_t strict,
adr_pattern_scheme_t scheme,
adr_name_t ***result,
int *result_count,
int n,
...);
List RAD names of a available Preferences instances.
Returns an array and array size of matching object names.
Arguments:
c -- RAD connection handle
strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning
scheme -- Apply glob (NS_GLOB) or regex (NS_REGEX) matching
result -- Array of RAD names
result_count -- Number of names in result array
n -- Number of key-value pairs provided as variadic arguments
... -- Optional key-value pairs that compose the primary key
ENUMERATED TYPES
enum ERROR_TYPE
typedef enum webuiprefs_ERROR_TYPE {
WERRORTYPE_RUNTIME_ERROR = 0,
WERRORTYPE_PARSING_ERROR = 1,
WERRORTYPE_INVALID_VALUE = 2,
WERRORTYPE_INSUFFICIENT_ARGUMENTS = 3,
WERRORTYPE_INSUFFICIENT_AUTHORIZATION = 4,
} webuiprefs_ERROR_TYPE_t;
WERRORTYPE_RUNTIME_ERROR (0)
WERRORTYPE_PARSING_ERROR (1)
WERRORTYPE_INVALID_VALUE (2)
WERRORTYPE_INSUFFICIENT_ARGUMENTS (3)
WERRORTYPE_INSUFFICIENT_AUTHORIZATION (4)
STRUCTURED TYPES
struct PreferencesError
typedef struct webuiprefs_PreferencesError
webuiprefs_PreferencesError_t;
struct webuiprefs_PreferencesError {
webuiprefs_ERROR_TYPE_t wpe_error_type;
char *wpe_reason;
};
void webuiprefs_PreferencesError_free(webuiprefs_PreferencesError_t *in);
Fields:
wpe_error_type
wpe_reason
struct FileImportError
typedef struct webuiprefs_FileImportError
webuiprefs_FileImportError_t;
struct webuiprefs_FileImportError {
char *wfie_file_path;
char *wfie_errors;
};
void webuiprefs_FileImportError_free(webuiprefs_FileImportError_t *in);
Fields:
wfie_file_path
wfie_errors
struct FormatSummary -- Structure with format, and a list of associated
files
typedef struct webuiprefs_FormatSummary webuiprefs_FormatSummary_t;
struct webuiprefs_FormatSummary {
char *wfs_format;
char **wfs_imported_files;
int wfs_imported_files_count;
webuiprefs_FileImportError_t **wfs_failed_files;
int wfs_failed_files_count;
webuiprefs_FileImportError_t **wfs_missing_files;
int wfs_missing_files_count;
char **wfs_skipped_files;
int wfs_skipped_files_count;
char *wfs_errors;
};
void webuiprefs_FormatSummary_free(webuiprefs_FormatSummary_t *in);
Fields:
wfs_format
wfs_imported_files
wfs_imported_files_count
wfs_failed_files
wfs_failed_files_count
wfs_missing_files
wfs_missing_files_count
wfs_skipped_files
wfs_skipped_files_count
wfs_errors
struct ImportSummary -- Summary of the import that was just performed
typedef struct webuiprefs_ImportSummary webuiprefs_ImportSummary_t;
struct webuiprefs_ImportSummary {
int wis_num_found_files;
int wis_num_imported_files;
int wis_num_failed_files;
int wis_num_missing_files;
int wis_num_skipped_files;
webuiprefs_FormatSummary_t **wis_format_summaries;
int wis_format_summaries_count;
char *wis_errors;
};
void webuiprefs_ImportSummary_free(webuiprefs_ImportSummary_t *in);
Fields:
wis_num_found_files
wis_num_imported_files
wis_num_failed_files
wis_num_missing_files
wis_num_skipped_files
wis_format_summaries
wis_format_summaries_count
wis_errors
struct ExportableIds
typedef struct webuiprefs_ExportableIds webuiprefs_ExportableIds_t;
struct webuiprefs_ExportableIds {
char *wei_identifier;
char *wei_format_module;
char *wei_id_type;
char *wei_description;
webuiprefs_ExportableIds_t **wei_contains;
int wei_contains_count;
};
void webuiprefs_ExportableIds_free(webuiprefs_ExportableIds_t *in);
Structure to contain identifiers that are available for export, the
format that is possible to export to, as well as as possible useful
type.
Fields:
wei_identifier
wei_format_module
wei_id_type
wei_description
wei_contains
wei_contains_count
VERSION
1.0
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
+--------------------+---------------------------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+---------------------------------------------+
|Availability | system/management/rad/module/rad-webuiprefs |
+--------------------+---------------------------------------------+
|Interface Stability | Private |
+--------------------+---------------------------------------------+
SEE ALSO
rad(8)
NOTES
1. Accessing Python documentation for this module:
$ pydoc rad.bindings.com.oracle.solaris.rad.webuiprefs_1
Solaris 11.4 2017-02-01 WEBUIPREFS-1(3rad)