Ejemplo n.º 1
0
        /// <summary>
        /// Creates a objects.call object using the provided parameters
        /// </summary>
        /// <param name="component"></param>
        /// <param name="parameters"></param>
        /// <param name="callback"></param>
        /// <returns></returns>
        private objects.call _createCall(string component, object parameters = null, Action <ResultModel> callback = null)
        {
            objects.call c = new objects.call();

            CallModel cm = CallModel.getByComponentName(component);

            if (cm == null)
            {
                throw new ArgumentException("Unknown component \"" + component + "\"");
            }

            if (parameters != null && (parameters.GetType() == typeof(CallProperties) || parameters.GetType().IsSubclassOf(typeof(CallProperties))))
            {
                cm.setProperties((CallProperties)parameters);
                parameters = cm;
            }

            if (parameters != null && parameters.GetType() != cm.GetType())
            {
                throw new ArgumentException("parameters must be set in an io.newgrounds.CallProperties or " + cm.GetType().ToString() + " instance.");
            }

            c.component = component;

            if (cm.secure)
            {
                secureCall scall = new secureCall();
                scall.component  = component;
                scall.parameters = parameters;
                string jscall = scall.toJSON();
                debug_log("Created secure call from: " + jscall);
                c.secure = crypto.encrypt(jscall);
            }
            else
            {
                c.parameters = parameters;
            }
            c.callback = callback;

            return(c);
        }
Ejemplo n.º 2
0
 public void setCall(objects.call c)
 {
     _call = c;
 }