34#include <NDEVR/String.h>
35#include <NDEVR/PasswordString.h>
36#include <NDEVR/DynamicPointer.h>
37#include <NDEVR/TimeSpan.h>
38#include <NDEVR/BinaryFile.h>
48 struct ServerCommandReturn
55 , e_invalid_credentials
57 , e_resource_not_found
64 , e_invalid_resource_id
77 ServerCommandReturn(
ReturnCode code,
const StringView& msg)
85 NDEVRSERVERCLIENT_API TranslatedString returnMessage()
const;
235 virtual void close() = 0;
Logic for reading or writing to a binary file including logic for compressing or decompressing the fi...
The equivelent of std::vector but with a bit more control.
Logic for reading or writing to a file as well as navigating filesystems or other common file operati...
A light-weight base class for Log that allows processes to update, without the need for additional in...
Manages an elliptic curve public/private key pair for asymmetric encryption and decryption.
A core part of the engine, stores variables that can be listened to with ResourceListener which will ...
Abstract interface for all server-side CRUD operations on users, resources, and permissions.
The core String View class for the NDEVR API.
The core String class for the NDEVR API.
Stores a time span, or difference between two times, with an optional start time.
Represents a timestamp with utilities for manipulation and conversion.
Any text displayed to the user should be defined as a TranslatedString which allows the program to lo...
A universally unique identifier (UUID) is a 128-bit number used to identify information in computer s...
The primary namespace for the NDEVR SDK.
uint64_t uint08
-Defines an alias representing an 8 byte, unsigned integer
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
int32_t sint04
-Defines an alias representing a 4 byte, signed integer.
Represents an encoded message associated with a resource version, including header and body.
HighCapacityBuffer< uint01 > message
Encoded message body.
sint04 resource_id
Associated resource ID.
Time time
Timestamp of the message.
sint04 version_id
Associated version ID.
sint04 user_id
User who sent the message.
HighCapacityBuffer< uint01 > header
Encoded message header.
Contains the address, credentials, and security flag needed to connect to an NDEVR server.
Identifies a resource on the server by name, ID, owner, and version.
sint04 resource_version
Version number of the resource.
sint04 resource_owner
User ID of the resource owner.
sint04 resource_id
Numeric resource ID.
String resource_name
Human-readable name of the resource.
Search criteria for querying resources on the server using regex patterns and filters.
Buffer< UUID > library_ids_black_list
Exclude these library IDs.
Buffer< sint04 > resource_ids_white_list
Only include these resource IDs.
String category_search_regex
Regex to match resource categories.
String mime_type_search_regex
Regex to match resource MIME types.
Buffer< TimeSpan > created_time_span
Filter by creation time ranges.
Buffer< UUID > library_ids_white_list
Only include these library IDs.
Buffer< sint04 > resource_owners_white_list
Only include resources owned by these user IDs.
String description_search_regex
Regex to match resource descriptions.
Buffer< sint04 > resource_owners_black_list
Exclude resources owned by these user IDs.
Buffer< TimeSpan > accessed_time_span
Filter by access time ranges.
Buffer< sint04 > resource_ids_black_list
Exclude these resource IDs.
Buffer< TimeSpan > edited_time_span
Filter by edit time ranges.
String name_search_regex
Regex to match resource names.
Encapsulates a server command's return status, including a code and optional message.
String return_message
Optional human-readable status message.
ReturnCode
Enumeration of possible return codes from server operations.
ReturnCode return_code
The status code of the operation.
Stores user credentials for server authentication, including username, password hash,...
String ip_address
IP address of the client.
String username
The user's login name.
sint04 user_id
Numeric user ID assigned by the server.
UUID encoded_user_password
Hashed/encoded user password.
bool credentials_validated
Whether credentials have been validated.
Holds general information about an NDEVR server instance.
String server_name
Display name of the server.
bool auto_approve_users
Whether new user registrations are auto-approved.
uint08 version
Server protocol version.
String admin_email
Administrator's email address.
Defines permissions for a user to access a specific resource, including encryption data.
bool allow_tree
Whether the user can view the resource tree.
bool link_shared
Whether the resource is shared via link.
HighCapacityBuffer< uint01 > encoded_link_password
Encrypted link password.
bool permission_read_validated
Whether read permission has been validated.
bool allow_measure
Whether the user can measure in the resource.
bool allow_export
Whether the user can export the resource.
sint04 permission_id
Numeric permission ID.
TimeSpan lifespan
Duration before this permission expires.
String permission_name
Display name for this permission.
bool permission_write_validated
Whether write permission has been validated.
sint04 permission_owner_id
User who owns this permission.
bool has_write_permissions
Whether the user can write to the resource.
bool share_owner_info
Whether to share owner information.
UUID link_password
Password for shared links.
bool has_edit_permissions
Whether the user can edit the resource.
HighCapacityBuffer< uint01 > encoded_decrypt_password
Encrypted decryption password.
bool is_public
Whether this permission is public.
HighCapacityBuffer< uint01 > encoded_resource_password
Encrypted resource password.
Buffer< EncodedMessage > user_permissions
Encoded permission messages.
Metadata for a server-hosted resource including type, timestamps, size, and cached data.
String categories
Semicolon-separated category tags.
Time modified_time
When the resource was last modified.
File cached_data
Local file path to cached resource data.
String mime_type
MIME type of the resource.
String resource_info
Additional resource information string.
Buffer< uint01 > icon
Icon image data for the resource.
uint08 resource_size
Size of the resource in bytes.
Time creation_time
When the resource was created.
Time access_time
When the resource was last accessed.
Extended user information including contact details and encryption keys.
Buffer< uint01 > encoded_private_key
User's encrypted private key.
Buffer< uint01 > public_key
User's public encryption key.
String phone_number
User's phone number.
String email
User's email address.
bool is_public
Whether the user profile is publicly visible.