public bool ExecuteApi(string args, IntPtr streamHandle, IntPtr eventHandle)
 {
     IncreaseUse();
     try
     {
         using (var stream = new Native.Stream(new Native.switch_stream_handle(streamHandle, false)))
         using (var evt = eventHandle == IntPtr.Zero ? null : new Native.Event(new Native.switch_event(eventHandle, false), 0))
         {
             try
             {
                 var context = new ApiContext(args, stream, evt);
                 var plugin = createPlugin();
                 plugin.Execute(context);
                 return true;
             }
             catch (Exception ex)
             {
                 LogException("Execute", Name, ex);
                 return false;
             }
         }
     }
     finally
     {
         DecreaseUse();
     }
 }
 public void Execute(ApiContext context)
 {
     Script.contextType = ScriptContextType.Api;
     Script.context = context;
     try
     {
         entryPoint();
     }
     finally
     {
         Script.contextType = ScriptContextType.None;
         Script.context = null;
     }
 }
        public void Execute(ApiContext context)
        {
            var cmds = context.Arguments.Split(" ".ToCharArray());
            var cmd = cmds[0].ToLower();
            switch (cmd)
            {
                case "shutdown":
                    Shutdown();
                    break;

                default:
                    context.Stream.Write("\n\nInvalid Command\n\n");
                    break;
            }
        }
 public void Execute(ApiContext context)
 {
     throw new NotImplementedException();
 }