All Downloads are FREE. Search and download functionalities are using the official Maven repository.

java.com.ionic.sdk.error.AgentErrorModuleConstants Maven / Gradle / Ivy

Go to download

The Ionic Java SDK provides an easy-to-use interface to the Ionic Platform.

There is a newer version: 2.9.0
Show newest version
package com.ionic.sdk.error;

/**
 * Enumeration of error codes from the Ionic SDK Agent module.
 */
@SuppressWarnings({"checkstyle:interfaceistype"})  // Java JNI SDK API compatibility
public interface AgentErrorModuleConstants {

    /**
     * Success code.
     */
    int ISAGENT_OK = 0;

    /**
     * error code range base.
     */
    int ISAGENT_ERROR_BASE = 40000;

    /**
     * A general error occurred, but its specific problem is not represented with
     * its own code.
     */
    int ISAGENT_ERROR = 40001;

    /**
     * An unknown and unexpected error occurred.
     */
    int ISAGENT_UNKNOWN = 40002;

    /**
     * A memory allocation failed. This can happen if there is not a sufficient
     * amount of memory available to perform an operation.
     */
    int ISAGENT_NOMEMORY = 40003;

    /**
     * An expected and required value was not found. This is typically emitted from
     * functions that are responsible for parsing / deserializing data.
     */
    int ISAGENT_MISSINGVALUE = 40004;

    /**
     * A value was found that is invalid. For example, a string value was expected,
     * but it was actually an integer. This is typically emitted from functions that
     * are responsible for parsing / deserializing data.
     */
    int ISAGENT_INVALIDVALUE = 40005;

    /**
     * The agent was used before being initialized. Make sure that you call
     * {@link com.ionic.sdk.agent.Agent#initialize()}, {@link com.ionic.sdk.agent.Agent#initializeWithoutProfiles()}),
     * or another
     * initialization function before trying to use the Agent object.
     */
    int ISAGENT_NOINIT = 40006;

    /**
     * Agent initialization was performed twice. This will happen if you try calling
     * one of the agent initialization functions after it has already been
     * initialized.
     */
    int ISAGENT_DOUBLEINIT = 40007;

    /**
     * Fingerprint creation failed.
     */
    int ISAGENT_CREATEFINGERPRINT = 40008;

    /**
     * A network request failed. A request failed due to connection failure, unknown
     * server, unresponsive server, or other network problem.
     */
    int ISAGENT_REQUESTFAILED = 40009;

    /**
     * The parsing of some serialized data failed. This typically happens if a file
     * or block of data is corrupted or of an unexpected format.
     */
    int ISAGENT_PARSEFAILED = 40010;

    /**
     * A server replied with a response that the agent was not expecting. This can
     * happen if the server rejects a request, it doesn't support the API version
     * used by the agent, etc.
     */
    int ISAGENT_UNEXPECTEDRESPONSE = 40011;

    /**
     * The agent configuration is invalid. This could be because the HTTP
     * implementation is not recognized, the server hostname/IP is empty, etc.
     */
    int ISAGENT_BADCONFIG = 40012;

    /**
     * A file failed to open. This normally happens because the file path provided
     * does not exist or it is not accessible due to lack of permission.
     */
    int ISAGENT_OPENFILE = 40013;

    /**
     * The request object is invalid. The request object failed validation in the
     * agent code. This can happen if any of the request data is not acceptable
     * (e.g. empty key ID, required properties missing).
     */
    int ISAGENT_BADREQUEST = 40014;

    /**
     * The response object is invalid. The response object failed validation in the
     * agent code. This means that the server responded with an invalid /
     * unacceptable response.
     */
    int ISAGENT_BADRESPONSE = 40015;

    /**
     * The server redirected the agent to an invalid location (e.g. an empty URL)
     * This is typically indicative that there is a problem on the server side.
     */
    int ISAGENT_BADREDIRECT = 40016;

    /**
     * The maximum amount of allowed server redirects has been hit. The server
     * redirected us too many times. The maximum number of allowed redirects can be
     * set during Agent initialization via {@link com.ionic.sdk.agent.config.AgentConfig#setMaxRedirects(int)}.
     */
    int ISAGENT_TOOMANYREDIRECTS = 40017;

    /**
     * The function (or a function it depends on) is not implemented.
     */
    int ISAGENT_NOTIMPLEMENTED = 40018;

    /**
     * The function (or a function it depends on) is not allowed to be called. This
     * typically happens if the function would knowingly cause a problem if it were
     * to be run.
     */
    int ISAGENT_NOTALLOWED = 40019;

    /**
     * An operation has timed out. This happens when a blocking function has been
     * used with a maximum wait time, and that time has expired.
     */
    int ISAGENT_TIMEOUT = 40020;

    /**
     * A null pointer was passed to a function that does not accept null pointers.
     */
    int ISAGENT_NULL_INPUT = 40021;

    /**
     * An active device profile has not been set. This happens when a function is
     * called that requires an active device profile, but there is no profile set
     * yet (e.g. {@link com.ionic.sdk.agent.Agent#createKeys(CreateKeysRequest)}).
     */
    int ISAGENT_NO_DEVICE_PROFILE = 40022;

    /**
     * A resource was not found. This happens when attempting to access a resource
     * that does not exist.
     */
    int ISAGENT_RESOURCE_NOT_FOUND = 40023;

    /**
     * A request to create or fetch a key was denied by the server.
     */
    int ISAGENT_KEY_DENIED = 40024;

    /**
     * A request was denied because there was a fingerprint hash mismatch.
     */
    int ISAGENT_FPHASH_DENIED = 40025;

    /**
     * A request was denied because the full fingerprint was denied.
     */
    int ISAGENT_FPFULL_DENIED = 40026;

    /**
     * A request was denied because the conversation ID (CID) timestamp was denied.
     */
    int ISAGENT_CID_TIMESTAMP_DENIED = 40027;

    /**
     * No default profile persistor is available for the current platform. A profile
     * persistor must be specified.
     */
    int ISAGENT_NO_PROFILE_PERSISTOR = 40028;

    /**
     * Failed to load device profiles. This may happen if an incorrect password was
     * provided, the storage file is corrupt, or some other problem occurred.
     */
    int ISAGENT_LOAD_PROFILES_FAILED = 40029;

    /**
     * A key is invalid in some way (key ID, key bytes, etc). This may happen if a
     * key was found to be invalid. For example, if the key is the wrong size (any
     * size other than 32 bytes), the key ID string is empty or contains invalid
     * characters, etc.
     */
    int ISAGENT_INVALID_KEY = 40030;

    /**
     * Key update failed because key attribute data is stale.
     * 

* This happens when a key update request is performed via updateKeys() or updateKey() * and the key server denies the request because it detected that the client has a stale version of the key. * A stale key is one which has been updated by another client without the knowledge of the client who requested * a separate update. *

* This may happen, for example, if two or more different clients attempt to update the same key at a very similar * time. In this case, there is a race condition, and the first client request to be processed works successfully, * but the other clients will have their requests denied. *

* To remedy this error, the client must retrieve the key again from the key server (via getKey() or * variants), apply the desired changes to it (via implementation of KeyAttributesMapMerger such as * KeyAttributesMapMergerDefault), and perform another update request via updateKeys() or updateKey(). */ int ISAGENT_STALE_KEY_ATTRIBUTES = 40031; /** * A keys update request contains two or more entries with the same key id. *

* This is a user error. */ int ISAGENT_DUPLICATE_KEY = 40032; /** * A header was not found in the specified data. *

* This may happen if the data version is older and special handling for this error may be necessary to * support previous SDK versions existing on the system. */ int ISAGENT_HEADER_NOT_FOUND = 40033; /** * An HTTPS secure connection was not achieved. *

* This commonly happens when the device OS is either setup without TLS 1.x, or is intentionally * set to use a weaker security standard. Ionic servers require at least TLS 1.0. */ int ISAGENT_NO_SECURE_CONNECTION = 40034; /** * error code range base. */ int ISAGENT_ERROR_BASE_JAVA = 42000; /** * SDK initialization failed. This can be due to the use of an out-of-date JRE that does not support * 256 bit AES keys (reference JDK-8170157 for information to correct this issue). */ int ISAGENT_INIT_FAILED_KEY_SIZE = 42001; /** * SDK initialization failed. This can be due to the use of a JRE that does not support needed cryptography * primitives. The bouncycastle library (1.56+) may be added to the JRE security providers to correct this issue. */ int ISAGENT_INIT_FAILED_PLATFORM = 42002; }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy