/// <summary>
        /// This should be called at the least when the state changes, but it is safe to call more often if it is
        /// more convenient to do so - data is only sent out if there are changes from the previous call. Thread-safe.
        /// </summary>
        /// <param name="status">The current status of the game server application instance.</param>
        public void SetApplicationInstanceStatus(OneApplicationInstanceStatus status)
        {
            if (!IsOneEnabled())
            {
                return;
            }

            if (_wrapper == null)
            {
                throw new InvalidOperationException("SDK wrapper is null. This component should be enabled in order to make this call.");
            }

            _wrapper.SetApplicationInstanceStatus(status);
        }
        /// <summary>
        /// This should be called at the least when the state changes, but it is safe to call more often if it is
        /// more convenient to do so - data is only sent out if there are changes from the previous call. Thread-safe.
        /// </summary>
        /// <param name="status">The current status of the game server application instance.</param>
        public void SetApplicationInstanceStatus(OneApplicationInstanceStatus status)
        {
            int code = one_server_set_application_instance_status(_ptr, (int)status);

            OneErrorValidator.Validate(code);
        }