예제 #1
0
        protected override void OnExecute(IAGIScriptHost host)
        {
            Uri uri = new Uri(AGI.RequestInfo.Request);

            string scriptTypeName = ConfigurationSettings["AGIScriptType"];

            Type scriptType = null;

            try
            {
                new PermissionSet(PermissionState.Unrestricted).Assert();

                scriptType = Type.GetType(scriptTypeName);

                PermissionSet.RevertAssert();
            }
            catch (SecurityException exc)
            {
                throw new SecurityException("Unable to dinamically load requested type. The GenericScriptManager needs elevated permissions in order to" +
                                            " properly function. For more restricted permissions, please use a differen Script Manager type", exc);
            }

            if (scriptType != null)
            {
                IAsteriskAGIScript script = (IAsteriskAGIScript)Activator.CreateInstance(scriptType);
                script.Execute(AGI, AGIVariables);
            }
        }
예제 #2
0
        public void Execute(IAGIScriptHost host, Dictionary <string, string> configurationSettings)
        {
            _hostAGI = host;

            _asteriskAGI = new AsteriskAGI(this);
            _asteriskAGI.Init();

            Uri uri = new Uri(_asteriskAGI.RequestInfo.Request);

            _agiVariables = parseQueryStrings(uri.Query);

            _configurationSettings = configurationSettings;

            OnExecute(host);
        }
예제 #3
0
 protected virtual void OnExecute(IAGIScriptHost host)
 {
 }
예제 #4
0
        protected override void OnExecute(IAGIScriptHost host)
        {
            EchoCallerIdScript script = new EchoCallerIdScript();

            script.Execute(AGI, AGIVariables);
        }
 public void Execute(IAGIScriptHost host, System.Collections.Generic.Dictionary <string, string> configurationSettings)
 {
     _contract.Execute(nAsterisk.AGI.ScriptHost.HostSideAdapters.IAGIScriptHostHostAdapter.ViewToContractAdapter(host), configurationSettings);
 }