mirror of
https://github.com/Jackzmc/sourcemod-plugins.git
synced 2025-05-06 16:33:21 +00:00
Update plugins
This commit is contained in:
parent
cc9eb7d9d4
commit
52c3d04c89
25 changed files with 2163 additions and 870 deletions
359
scripting/include/ripext/http.inc
Normal file
359
scripting/include/ripext/http.inc
Normal file
|
@ -0,0 +1,359 @@
|
|||
enum HTTPStatus
|
||||
{
|
||||
HTTPStatus_Invalid = 0,
|
||||
|
||||
// 1xx Informational
|
||||
HTTPStatus_Continue = 100,
|
||||
HTTPStatus_SwitchingProtocols = 101,
|
||||
|
||||
// 2xx Success
|
||||
HTTPStatus_OK = 200,
|
||||
HTTPStatus_Created = 201,
|
||||
HTTPStatus_Accepted = 202,
|
||||
HTTPStatus_NonAuthoritativeInformation = 203,
|
||||
HTTPStatus_NoContent = 204,
|
||||
HTTPStatus_ResetContent = 205,
|
||||
HTTPStatus_PartialContent = 206,
|
||||
|
||||
// 3xx Redirection
|
||||
HTTPStatus_MultipleChoices = 300,
|
||||
HTTPStatus_MovedPermanently = 301,
|
||||
HTTPStatus_Found = 302,
|
||||
HTTPStatus_SeeOther = 303,
|
||||
HTTPStatus_NotModified = 304,
|
||||
HTTPStatus_UseProxy = 305,
|
||||
HTTPStatus_TemporaryRedirect = 307,
|
||||
HTTPStatus_PermanentRedirect = 308,
|
||||
|
||||
// 4xx Client Error
|
||||
HTTPStatus_BadRequest = 400,
|
||||
HTTPStatus_Unauthorized = 401,
|
||||
HTTPStatus_PaymentRequired = 402,
|
||||
HTTPStatus_Forbidden = 403,
|
||||
HTTPStatus_NotFound = 404,
|
||||
HTTPStatus_MethodNotAllowed = 405,
|
||||
HTTPStatus_NotAcceptable = 406,
|
||||
HTTPStatus_ProxyAuthenticationRequired = 407,
|
||||
HTTPStatus_RequestTimeout = 408,
|
||||
HTTPStatus_Conflict = 409,
|
||||
HTTPStatus_Gone = 410,
|
||||
HTTPStatus_LengthRequired = 411,
|
||||
HTTPStatus_PreconditionFailed = 412,
|
||||
HTTPStatus_RequestEntityTooLarge = 413,
|
||||
HTTPStatus_RequestURITooLong = 414,
|
||||
HTTPStatus_UnsupportedMediaType = 415,
|
||||
HTTPStatus_RequestedRangeNotSatisfiable = 416,
|
||||
HTTPStatus_ExpectationFailed = 417,
|
||||
HTTPStatus_MisdirectedRequest = 421,
|
||||
HTTPStatus_TooEarly = 425,
|
||||
HTTPStatus_UpgradeRequired = 426,
|
||||
HTTPStatus_PreconditionRequired = 428,
|
||||
HTTPStatus_TooManyRequests = 429,
|
||||
HTTPStatus_RequestHeaderFieldsTooLarge = 431,
|
||||
HTTPStatus_UnavailableForLegalReasons = 451,
|
||||
|
||||
// 5xx Server Error
|
||||
HTTPStatus_InternalServerError = 500,
|
||||
HTTPStatus_NotImplemented = 501,
|
||||
HTTPStatus_BadGateway = 502,
|
||||
HTTPStatus_ServiceUnavailable = 503,
|
||||
HTTPStatus_GatewayTimeout = 504,
|
||||
HTTPStatus_HTTPVersionNotSupported = 505,
|
||||
HTTPStatus_VariantAlsoNegotiates = 506,
|
||||
HTTPStatus_NotExtended = 510,
|
||||
HTTPStatus_NetworkAuthenticationRequired = 511,
|
||||
};
|
||||
|
||||
typeset HTTPRequestCallback
|
||||
{
|
||||
function void (HTTPResponse response, any value);
|
||||
function void (HTTPResponse response, any value, const char[] error);
|
||||
};
|
||||
|
||||
typeset HTTPFileCallback
|
||||
{
|
||||
function void (HTTPStatus status, any value);
|
||||
function void (HTTPStatus status, any value, const char[] error);
|
||||
};
|
||||
|
||||
methodmap HTTPRequest < Handle
|
||||
{
|
||||
// Creates an HTTP request.
|
||||
//
|
||||
// The Handle is automatically freed when the request is performed.
|
||||
// Otherwise, the Handle must be freed via delete or CloseHandle().
|
||||
//
|
||||
// @param url URL to the REST API endpoint.
|
||||
public native HTTPRequest(const char[] url);
|
||||
|
||||
// Appends a parameter to the form data.
|
||||
//
|
||||
// The parameter name and value are encoded according to RFC 3986.
|
||||
//
|
||||
// @param name Parameter name.
|
||||
// @param format Formatting rules.
|
||||
// @param ... Variable number of format parameters.
|
||||
public native void AppendFormParam(const char[] name, const char[] format, any ...);
|
||||
|
||||
// Appends a query parameter to the URL.
|
||||
//
|
||||
// The parameter name and value are encoded according to RFC 3986.
|
||||
//
|
||||
// @param name Parameter name.
|
||||
// @param format Formatting rules.
|
||||
// @param ... Variable number of format parameters.
|
||||
public native void AppendQueryParam(const char[] name, const char[] format, any ...);
|
||||
|
||||
// Sets the credentials for HTTP Basic authentication.
|
||||
//
|
||||
// @param username Username to use.
|
||||
// @param password Password to use.
|
||||
public native void SetBasicAuth(const char[] username, const char[] password);
|
||||
|
||||
// Sets an HTTP header.
|
||||
//
|
||||
// @param name Header name.
|
||||
// @param format Formatting rules.
|
||||
// @param ... Variable number of format parameters.
|
||||
public native void SetHeader(const char[] name, const char[] format, any ...);
|
||||
|
||||
// Performs an HTTP GET request.
|
||||
//
|
||||
// This function closes the request Handle after completing.
|
||||
//
|
||||
// @param callback A function to use as a callback when the request has finished.
|
||||
// @param value Optional value to pass to the callback function.
|
||||
public native void Get(HTTPRequestCallback callback, any value = 0);
|
||||
|
||||
// Performs an HTTP POST request.
|
||||
//
|
||||
// This function closes the request Handle after completing.
|
||||
//
|
||||
// @param data JSON data to send.
|
||||
// @param callback A function to use as a callback when the request has finished.
|
||||
// @param value Optional value to pass to the callback function.
|
||||
public native void Post(JSON data, HTTPRequestCallback callback, any value = 0);
|
||||
|
||||
// Performs an HTTP PUT request.
|
||||
//
|
||||
// This function closes the request Handle after completing.
|
||||
//
|
||||
// @param data JSON data to send.
|
||||
// @param callback A function to use as a callback when the request has finished.
|
||||
// @param value Optional value to pass to the callback function.
|
||||
public native void Put(JSON data, HTTPRequestCallback callback, any value = 0);
|
||||
|
||||
// Performs an HTTP PATCH request.
|
||||
//
|
||||
// This function closes the request Handle after completing.
|
||||
//
|
||||
// @param data JSON data to send.
|
||||
// @param callback A function to use as a callback when the request has finished.
|
||||
// @param value Optional value to pass to the callback function.
|
||||
public native void Patch(JSON data, HTTPRequestCallback callback, any value = 0);
|
||||
|
||||
// Performs an HTTP DELETE request.
|
||||
//
|
||||
// This function closes the request Handle after completing.
|
||||
//
|
||||
// @param callback A function to use as a callback when the request has finished.
|
||||
// @param value Optional value to pass to the callback function.
|
||||
public native void Delete(HTTPRequestCallback callback, any value = 0);
|
||||
|
||||
// Downloads a file.
|
||||
//
|
||||
// This function closes the request Handle after completing.
|
||||
//
|
||||
// @param path File path to write to.
|
||||
// @param callback A function to use as a callback when the download has finished.
|
||||
// @param value Optional value to pass to the callback function.
|
||||
public native void DownloadFile(const char[] path, HTTPFileCallback callback, any value = 0);
|
||||
|
||||
// Uploads a file.
|
||||
//
|
||||
// This function performs an HTTP PUT request. The file contents are sent in the request body.
|
||||
// This function closes the request Handle after completing.
|
||||
//
|
||||
// @param path File path to read from.
|
||||
// @param callback A function to use as a callback when the upload has finished.
|
||||
// @param value Optional value to pass to the callback function.
|
||||
public native void UploadFile(const char[] path, HTTPFileCallback callback, any value = 0);
|
||||
|
||||
// Performs an HTTP POST request with form data.
|
||||
//
|
||||
// This function closes the request Handle after completing.
|
||||
//
|
||||
// @param callback A function to use as a callback when the request has finished.
|
||||
// @param value Optional value to pass to the callback function.
|
||||
public native void PostForm(HTTPRequestCallback callback, any value = 0);
|
||||
|
||||
// Connect timeout in seconds. Defaults to 10.
|
||||
property int ConnectTimeout {
|
||||
public native get();
|
||||
public native set(int connectTimeout);
|
||||
}
|
||||
|
||||
// Maximum number of redirects to follow. Defaults to 5.
|
||||
property int MaxRedirects {
|
||||
public native get();
|
||||
public native set(int maxRedirects);
|
||||
}
|
||||
|
||||
// Maximum download speed in bytes per second. Defaults to unlimited speed.
|
||||
property int MaxRecvSpeed {
|
||||
public native get();
|
||||
public native set(int maxSpeed);
|
||||
}
|
||||
|
||||
// Maximum upload speed in bytes per second. Defaults to unlimited speed.
|
||||
property int MaxSendSpeed {
|
||||
public native get();
|
||||
public native set(int maxSpeed);
|
||||
}
|
||||
|
||||
// Timeout in seconds. Defaults to 30.
|
||||
property int Timeout {
|
||||
public native get();
|
||||
public native set(int timeout);
|
||||
}
|
||||
}
|
||||
|
||||
methodmap HTTPResponse
|
||||
{
|
||||
// Retrieves an HTTP header from the response.
|
||||
//
|
||||
// @param name Header name.
|
||||
// @param buffer String buffer to store value.
|
||||
// @param maxlength Maximum length of the string buffer.
|
||||
// @return True on success, false if the header was not found.
|
||||
public native bool GetHeader(const char[] name, char[] buffer, int maxlength);
|
||||
|
||||
// Retrieves the JSON data of the response.
|
||||
//
|
||||
// @error Invalid JSON response.
|
||||
property JSON Data {
|
||||
public native get();
|
||||
}
|
||||
|
||||
// Retrieves the HTTP status of the response.
|
||||
property HTTPStatus Status {
|
||||
public native get();
|
||||
}
|
||||
};
|
||||
|
||||
// Deprecated. Use HTTPRequest instead.
|
||||
methodmap HTTPClient < Handle
|
||||
{
|
||||
// Creates an HTTP client.
|
||||
//
|
||||
// The HTTPClient must be freed via delete or CloseHandle().
|
||||
//
|
||||
// @param baseURL Base URL to the REST API.
|
||||
#pragma deprecated Use HTTPRequest instead.
|
||||
public native HTTPClient(const char[] baseURL);
|
||||
|
||||
// Sets an HTTP header to be used for all requests.
|
||||
//
|
||||
// @param name Header name.
|
||||
// @param value String value to set.
|
||||
#pragma deprecated Use HTTPRequest.SetHeader() instead.
|
||||
public native void SetHeader(const char[] name, const char[] value);
|
||||
|
||||
// Performs an HTTP GET request.
|
||||
//
|
||||
// @param endpoint API endpoint to request.
|
||||
// @param callback A function to use as a callback when the request has finished.
|
||||
// @param value Optional value to pass to the callback function.
|
||||
#pragma deprecated Use HTTPRequest.Get() instead.
|
||||
public native void Get(const char[] endpoint, HTTPRequestCallback callback, any value = 0);
|
||||
|
||||
// Performs an HTTP POST request.
|
||||
//
|
||||
// @param endpoint API endpoint to request.
|
||||
// @param data JSON data to send.
|
||||
// @param callback A function to use as a callback when the request has finished.
|
||||
// @param value Optional value to pass to the callback function.
|
||||
#pragma deprecated Use HTTPRequest.Post() instead.
|
||||
public native void Post(const char[] endpoint, JSON data, HTTPRequestCallback callback, any value = 0);
|
||||
|
||||
// Performs an HTTP PUT request.
|
||||
//
|
||||
// @param endpoint API endpoint to request.
|
||||
// @param data JSON data to send.
|
||||
// @param callback A function to use as a callback when the request has finished.
|
||||
// @param value Optional value to pass to the callback function.
|
||||
#pragma deprecated Use HTTPRequest.Put() instead.
|
||||
public native void Put(const char[] endpoint, JSON data, HTTPRequestCallback callback, any value = 0);
|
||||
|
||||
// Performs an HTTP PATCH request.
|
||||
//
|
||||
// @param endpoint API endpoint to request.
|
||||
// @param data JSON data to send.
|
||||
// @param callback A function to use as a callback when the request has finished.
|
||||
// @param value Optional value to pass to the callback function.
|
||||
#pragma deprecated Use HTTPRequest.Patch() instead.
|
||||
public native void Patch(const char[] endpoint, JSON data, HTTPRequestCallback callback, any value = 0);
|
||||
|
||||
// Performs an HTTP DELETE request.
|
||||
//
|
||||
// @param endpoint API endpoint to request.
|
||||
// @param callback A function to use as a callback when the request has finished.
|
||||
// @param value Optional value to pass to the callback function.
|
||||
#pragma deprecated Use HTTPRequest.Delete() instead.
|
||||
public native void Delete(const char[] endpoint, HTTPRequestCallback callback, any value = 0);
|
||||
|
||||
// Downloads a file.
|
||||
//
|
||||
// @param endpoint API endpoint to download from.
|
||||
// @param path File path to write to.
|
||||
// @param callback A function to use as a callback when the download has finished.
|
||||
// @param value Optional value to pass to the callback function.
|
||||
#pragma deprecated Use HTTPRequest.DownloadFile() instead.
|
||||
public native void DownloadFile(const char[] endpoint, const char[] path, HTTPFileCallback callback, any value = 0);
|
||||
|
||||
// Uploads a file.
|
||||
//
|
||||
// This function performs an HTTP PUT request. The file contents are sent in the request body.
|
||||
//
|
||||
// @param endpoint API endpoint to upload to.
|
||||
// @param path File path to read from.
|
||||
// @param callback A function to use as a callback when the upload has finished.
|
||||
// @param value Optional value to pass to the callback function.
|
||||
#pragma deprecated Use HTTPRequest.UploadFile() instead.
|
||||
public native void UploadFile(const char[] endpoint, const char[] path, HTTPFileCallback callback, any value = 0);
|
||||
|
||||
// Connect timeout in seconds. Defaults to 10.
|
||||
#pragma deprecated Use HTTPRequest.ConnectTimeout instead.
|
||||
property int ConnectTimeout {
|
||||
public native get();
|
||||
public native set(int connectTimeout);
|
||||
}
|
||||
|
||||
// Follow HTTP 3xx redirects. Defaults to true.
|
||||
#pragma deprecated Use HTTPRequest.MaxRedirects instead.
|
||||
property bool FollowLocation {
|
||||
public native get();
|
||||
public native set(bool followLocation);
|
||||
}
|
||||
|
||||
// Timeout in seconds. Defaults to 30.
|
||||
#pragma deprecated Use HTTPRequest.Timeout instead.
|
||||
property int Timeout {
|
||||
public native get();
|
||||
public native set(int timeout);
|
||||
}
|
||||
|
||||
// Maximum upload speed in bytes per second. Defaults to unlimited speed.
|
||||
#pragma deprecated Use HTTPRequest.MaxSendSpeed instead.
|
||||
property int MaxSendSpeed {
|
||||
public native get();
|
||||
public native set(int speed);
|
||||
}
|
||||
|
||||
// Maximum download speed in bytes per second. Defaults to unlimited speed.
|
||||
#pragma deprecated Use HTTPRequest.MaxRecvSpeed instead.
|
||||
property int MaxRecvSpeed {
|
||||
public native get();
|
||||
public native set(int speed);
|
||||
}
|
||||
};
|
400
scripting/include/ripext/json.inc
Normal file
400
scripting/include/ripext/json.inc
Normal file
|
@ -0,0 +1,400 @@
|
|||
// Decoding flags
|
||||
enum
|
||||
{
|
||||
JSON_REJECT_DUPLICATES = 0x1, /**< Error if any JSON object contains duplicate keys */
|
||||
JSON_DISABLE_EOF_CHECK = 0x2, /**< Allow extra data after a valid JSON array or object */
|
||||
JSON_DECODE_ANY = 0x4, /**< Decode any value */
|
||||
JSON_DECODE_INT_AS_REAL = 0x8, /**< Interpret all numbers as floats */
|
||||
JSON_ALLOW_NUL = 0x10 /**< Allow \u0000 escape inside string values */
|
||||
};
|
||||
|
||||
// Encoding flags
|
||||
enum
|
||||
{
|
||||
JSON_COMPACT = 0x20, /**< Compact representation */
|
||||
JSON_ENSURE_ASCII = 0x40, /**< Escape all Unicode characters outside the ASCII range */
|
||||
JSON_SORT_KEYS = 0x80, /**< Sort object keys */
|
||||
JSON_ENCODE_ANY = 0x200, /**< Encode any value */
|
||||
JSON_ESCAPE_SLASH = 0x400, /**< Escape / with \/ */
|
||||
JSON_EMBED = 0x10000 /**< Omit opening and closing braces of the top-level object */
|
||||
};
|
||||
|
||||
// Maximum indentation
|
||||
static const int JSON_MAX_INDENT = 0x1F;
|
||||
|
||||
// Pretty-print the result, indenting with n spaces
|
||||
stock int JSON_INDENT(int n)
|
||||
{
|
||||
return n & JSON_MAX_INDENT;
|
||||
}
|
||||
|
||||
// Output floats with at most n digits of precision
|
||||
stock int JSON_REAL_PRECISION(int n)
|
||||
{
|
||||
return (n & 0x1F) << 11;
|
||||
}
|
||||
|
||||
// Generic type for encoding JSON.
|
||||
methodmap JSON < Handle
|
||||
{
|
||||
// Writes the JSON string representation to a file.
|
||||
//
|
||||
// @param file File to write to.
|
||||
// @param flags Encoding flags.
|
||||
// @return True on success, false on failure.
|
||||
public native bool ToFile(const char[] file, int flags = 0);
|
||||
|
||||
// Retrieves the JSON string representation.
|
||||
//
|
||||
// @param buffer String buffer to write to.
|
||||
// @param maxlength Maximum length of the string buffer.
|
||||
// @param flags Encoding flags.
|
||||
// @return True on success, false on failure.
|
||||
public native bool ToString(char[] buffer, int maxlength, int flags = 0);
|
||||
};
|
||||
|
||||
methodmap JSONObject < JSON
|
||||
{
|
||||
// Creates a JSON object. A JSON object maps strings (called "keys") to values. Keys in a
|
||||
// JSON object are unique. That is, there is at most one entry in the map for a given key.
|
||||
//
|
||||
// The JSONObject must be freed via delete or CloseHandle().
|
||||
public native JSONObject();
|
||||
|
||||
// Loads a JSON object from a file.
|
||||
//
|
||||
// @param file File to read from.
|
||||
// @param flags Decoding flags.
|
||||
// @return Object handle, or null on failure.
|
||||
// @error Invalid JSON.
|
||||
public static native JSONObject FromFile(const char[] file, int flags = 0);
|
||||
|
||||
// Loads a JSON object from a string.
|
||||
//
|
||||
// @param buffer String buffer to load into the JSON object.
|
||||
// @param flags Decoding flags.
|
||||
// @return Object handle, or null on failure.
|
||||
// @error Invalid JSON.
|
||||
public static native JSONObject FromString(const char[] buffer, int flags = 0);
|
||||
|
||||
// Retrieves an array or object value from the object.
|
||||
//
|
||||
// The JSON must be freed via delete or CloseHandle().
|
||||
//
|
||||
// @param key Key string.
|
||||
// @return Value read.
|
||||
// @error Invalid key.
|
||||
public native JSON Get(const char[] key);
|
||||
|
||||
// Retrieves a boolean value from the object.
|
||||
//
|
||||
// @param key Key string.
|
||||
// @return Value read.
|
||||
// @error Invalid key.
|
||||
public native bool GetBool(const char[] key);
|
||||
|
||||
// Retrieves a float value from the object.
|
||||
//
|
||||
// @param key Key string.
|
||||
// @return Value read.
|
||||
// @error Invalid key.
|
||||
public native float GetFloat(const char[] key);
|
||||
|
||||
// Retrieves an integer value from the object.
|
||||
//
|
||||
// @param key Key string.
|
||||
// @return Value read.
|
||||
// @error Invalid key.
|
||||
public native int GetInt(const char[] key);
|
||||
|
||||
// Retrieves a 64-bit integer value from the object.
|
||||
//
|
||||
// @param key Key string.
|
||||
// @param buffer String buffer to store value.
|
||||
// @param maxlength Maximum length of the string buffer.
|
||||
// @return True on success, false if the key was not found.
|
||||
public native bool GetInt64(const char[] key, char[] buffer, int maxlength);
|
||||
|
||||
// Retrieves a string value from the object.
|
||||
//
|
||||
// @param key Key string.
|
||||
// @param buffer String buffer to store value.
|
||||
// @param maxlength Maximum length of the string buffer.
|
||||
// @return True on success. False if the key was not found, or the value is not a string.
|
||||
public native bool GetString(const char[] key, char[] buffer, int maxlength);
|
||||
|
||||
// Returns whether or not a value in the object is null.
|
||||
//
|
||||
// @param key Key string.
|
||||
// @return True if the value is null, false otherwise.
|
||||
// @error Invalid key.
|
||||
public native bool IsNull(const char[] key);
|
||||
|
||||
// Returns whether or not a key exists in the object.
|
||||
//
|
||||
// @param key Key string.
|
||||
// @return True if the key exists, false otherwise.
|
||||
public native bool HasKey(const char[] key);
|
||||
|
||||
// Sets an array or object value in the object, either inserting a new entry or replacing an old one.
|
||||
//
|
||||
// @param key Key string.
|
||||
// @param value Value to store at this key.
|
||||
// @return True on success, false on failure.
|
||||
public native bool Set(const char[] key, JSON value);
|
||||
|
||||
// Sets a boolean value in the object, either inserting a new entry or replacing an old one.
|
||||
//
|
||||
// @param key Key string.
|
||||
// @param value Value to store at this key.
|
||||
// @return True on success, false on failure.
|
||||
public native bool SetBool(const char[] key, bool value);
|
||||
|
||||
// Sets a float value in the object, either inserting a new entry or replacing an old one.
|
||||
//
|
||||
// @param key Key string.
|
||||
// @param value Value to store at this key.
|
||||
// @return True on success, false on failure.
|
||||
public native bool SetFloat(const char[] key, float value);
|
||||
|
||||
// Sets an integer value in the object, either inserting a new entry or replacing an old one.
|
||||
//
|
||||
// @param key Key string.
|
||||
// @param value Value to store at this key.
|
||||
// @return True on success, false on failure.
|
||||
public native bool SetInt(const char[] key, int value);
|
||||
|
||||
// Sets a 64-bit integer value in the object, either inserting a new entry or replacing an old one.
|
||||
//
|
||||
// @param key Key string.
|
||||
// @param value Value to store at this key.
|
||||
// @return True on success, false on failure.
|
||||
public native bool SetInt64(const char[] key, const char[] value);
|
||||
|
||||
// Sets a null value in the object, either inserting a new entry or replacing an old one.
|
||||
//
|
||||
// @param key Key string.
|
||||
// @return True on success, false on failure.
|
||||
public native bool SetNull(const char[] key);
|
||||
|
||||
// Sets a string value in the object, either inserting a new entry or replacing an old one.
|
||||
//
|
||||
// @param key Key string.
|
||||
// @param value Value to store at this key.
|
||||
// @return True on success, false on failure.
|
||||
public native bool SetString(const char[] key, const char[] value);
|
||||
|
||||
// Removes an entry from the object.
|
||||
//
|
||||
// @param key Key string.
|
||||
// @return True on success, false if the key was not found.
|
||||
public native bool Remove(const char[] key);
|
||||
|
||||
// Clears the object of all entries.
|
||||
// @return True on success, false on failure.
|
||||
public native bool Clear();
|
||||
|
||||
// Returns an iterator for the object's keys. See JSONObjectKeys.
|
||||
public native JSONObjectKeys Keys();
|
||||
|
||||
// Retrieves the size of the object.
|
||||
property int Size {
|
||||
public native get();
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* A JSONObjectKeys is created via JSONObject.Keys(). It allows the keys of an
|
||||
* object to be iterated. The JSONObjectKeys must be freed with delete or
|
||||
* CloseHandle().
|
||||
*/
|
||||
methodmap JSONObjectKeys < Handle
|
||||
{
|
||||
// Reads an object key, then advances to the next key if any.
|
||||
//
|
||||
// @param buffer String buffer to store key.
|
||||
// @param maxlength Maximum length of the string buffer.
|
||||
// @return True on success, false if there are no more keys.
|
||||
public native bool ReadKey(char[] buffer, int maxlength);
|
||||
};
|
||||
|
||||
methodmap JSONArray < JSON
|
||||
{
|
||||
// Creates a JSON array.
|
||||
//
|
||||
// The JSONArray must be freed via delete or CloseHandle().
|
||||
public native JSONArray();
|
||||
|
||||
// Loads a JSON array from a file.
|
||||
//
|
||||
// @param file File to read from.
|
||||
// @param flags Decoding flags.
|
||||
// @return Array handle, or null on failure.
|
||||
// @error Invalid JSON.
|
||||
public static native JSONArray FromFile(const char[] file, int flags = 0);
|
||||
|
||||
// Loads a JSON array from a string.
|
||||
//
|
||||
// @param buffer String buffer to load into the JSON array.
|
||||
// @param flags Decoding flags.
|
||||
// @return Array handle, or null on failure.
|
||||
// @error Invalid JSON.
|
||||
public static native JSONArray FromString(const char[] buffer, int flags = 0);
|
||||
|
||||
// Retrieves an array or object value from the array.
|
||||
//
|
||||
// The JSON must be freed via delete or CloseHandle().
|
||||
//
|
||||
// @param index Index in the array.
|
||||
// @return Value read.
|
||||
// @error Invalid index.
|
||||
public native JSON Get(int index);
|
||||
|
||||
// Retrieves a boolean value from the array.
|
||||
//
|
||||
// @param index Index in the array.
|
||||
// @return Value read.
|
||||
// @error Invalid index.
|
||||
public native bool GetBool(int index);
|
||||
|
||||
// Retrieves a float value from the array.
|
||||
//
|
||||
// @param index Index in the array.
|
||||
// @return Value read.
|
||||
// @error Invalid index.
|
||||
public native float GetFloat(int index);
|
||||
|
||||
// Retrieves an integer value from the array.
|
||||
//
|
||||
// @param index Index in the array.
|
||||
// @return Value read.
|
||||
// @error Invalid index.
|
||||
public native int GetInt(int index);
|
||||
|
||||
// Retrieves an 64-bit integer value from the array.
|
||||
//
|
||||
// @param index Index in the array.
|
||||
// @param buffer Buffer to copy to.
|
||||
// @param maxlength Maximum size of the buffer.
|
||||
// @error Invalid index.
|
||||
public native void GetInt64(int index, char[] buffer, int maxlength);
|
||||
|
||||
// Retrieves a string value from the array.
|
||||
//
|
||||
// @param index Index in the array.
|
||||
// @param buffer Buffer to copy to.
|
||||
// @param maxlength Maximum size of the buffer.
|
||||
// @return True on success, false if the value is not a string.
|
||||
// @error Invalid index.
|
||||
public native bool GetString(int index, char[] buffer, int maxlength);
|
||||
|
||||
// Returns whether or not a value in the array is null.
|
||||
//
|
||||
// @param index Index in the array.
|
||||
// @return True if the value is null, false otherwise.
|
||||
// @error Invalid index.
|
||||
public native bool IsNull(int index);
|
||||
|
||||
// Sets an array or object value in the array.
|
||||
//
|
||||
// @param index Index in the array.
|
||||
// @param value Value to set.
|
||||
// @return True on success, false on failure.
|
||||
public native bool Set(int index, JSON value);
|
||||
|
||||
// Sets a boolean value in the array.
|
||||
//
|
||||
// @param index Index in the array.
|
||||
// @param value Value to set.
|
||||
// @return True on success, false on failure.
|
||||
public native bool SetBool(int index, bool value);
|
||||
|
||||
// Sets a float value in the array.
|
||||
//
|
||||
// @param index Index in the array.
|
||||
// @param value Value to set.
|
||||
// @return True on success, false on failure.
|
||||
public native bool SetFloat(int index, float value);
|
||||
|
||||
// Sets an integer value in the array.
|
||||
//
|
||||
// @param index Index in the array.
|
||||
// @param value Value to set.
|
||||
// @return True on success, false on failure.
|
||||
public native bool SetInt(int index, int value);
|
||||
|
||||
// Sets a 64 bit integer value in the array.
|
||||
//
|
||||
// @param index Index in the array.
|
||||
// @param value 64-bit integer value to set.
|
||||
// @return True on success, false on failure.
|
||||
public native bool SetInt64(int index, const char[] value);
|
||||
|
||||
// Sets a null value in the array.
|
||||
//
|
||||
// @param index Index in the array.
|
||||
// @return True on success, false on failure.
|
||||
public native bool SetNull(int index);
|
||||
|
||||
// Sets a string value in the array.
|
||||
//
|
||||
// @param index Index in the array.
|
||||
// @param value String value to set.
|
||||
// @return True on success, false on failure.
|
||||
public native bool SetString(int index, const char[] value);
|
||||
|
||||
// Pushes an array or object value onto the end of the array, adding a new index.
|
||||
//
|
||||
// @param value Value to push.
|
||||
// @return True on success, false on failure.
|
||||
public native bool Push(JSON value);
|
||||
|
||||
// Pushes a boolean value onto the end of the array, adding a new index.
|
||||
//
|
||||
// @param value Value to push.
|
||||
// @return True on success, false on failure.
|
||||
public native bool PushBool(bool value);
|
||||
|
||||
// Pushes a float value onto the end of the array, adding a new index.
|
||||
//
|
||||
// @param value Value to push.
|
||||
// @return True on success, false on failure.
|
||||
public native bool PushFloat(float value);
|
||||
|
||||
// Pushes an integer value onto the end of the array, adding a new index.
|
||||
//
|
||||
// @param value Value to push.
|
||||
// @return True on success, false on failure.
|
||||
public native bool PushInt(int value);
|
||||
|
||||
// Pushes a 64-bit integer value onto the end of the array, adding a new index.
|
||||
//
|
||||
// @param value 64-bit integer value to push.
|
||||
// @return True on success, false on failure.
|
||||
public native bool PushInt64(const char[] value);
|
||||
|
||||
// Pushes a null value onto the end of the array, adding a new index.
|
||||
// @return True on success, false on failure.
|
||||
public native bool PushNull();
|
||||
|
||||
// Pushes a string value onto the end of the array, adding a new index.
|
||||
//
|
||||
// @param value String value to push.
|
||||
// @return True on success, false on failure.
|
||||
public native bool PushString(const char[] value);
|
||||
|
||||
// Removes an entry from the array.
|
||||
//
|
||||
// @param index Index in the array to remove.
|
||||
// @return True on success, false on invalid index.
|
||||
public native bool Remove(int index);
|
||||
|
||||
// Clears the array of all entries.
|
||||
// @return True on success, false on failure.
|
||||
public native bool Clear();
|
||||
|
||||
// Retrieves the size of the array.
|
||||
property int Length {
|
||||
public native get();
|
||||
}
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue