• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# Engine.CommandModel类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中Smuxi.Engine.CommandModel的典型用法代码示例。如果您正苦于以下问题:C# CommandModel类的具体用法?C# CommandModel怎么用?C# CommandModel使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



CommandModel类属于Smuxi.Engine命名空间,在下文中一共展示了CommandModel类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: ExecuteCommand

        public void ExecuteCommand(string cmd)
        {
            if (!(cmd.Length > 0)) {
                return;
            }

            bool handled = false;
            CommandModel cd = new CommandModel(Frontend.FrontendManager, null,
                                    (string)Frontend.UserConfig["Interface/Entry/CommandCharacter"],
                                    cmd);
            //handled = _Command(cd);
            if (!handled) {
                handled = Frontend.Session.Command(cd);
            }
            if (!handled) {
                // we may have no network manager yet
                Engine.IProtocolManager nm = Frontend.FrontendManager.CurrentProtocolManager;
                if (nm != null) {
                    handled = nm.Command(cd);
                } else {
                    handled = false;
                }
            }
            if (!handled) {
               _CommandUnknown(cd);
            }
        }
开发者ID:RoninBG,项目名称:smuxi,代码行数:27,代码来源:Entry.cs


示例2: Parser

        public void Parser()
        {
            var cmd = new CommandModel(null, null, "/", "/test foobar");
            Assert.IsTrue(cmd.IsCommand);
            Assert.AreEqual("test", cmd.Command);
            Assert.AreEqual("foobar", cmd.Parameter);

            cmd = new CommandModel(null, null, "/", "/test foo bar");
            Assert.IsTrue(cmd.IsCommand);
            Assert.AreEqual("test", cmd.Command);
            Assert.AreEqual("foo bar", cmd.Parameter);

            cmd = new CommandModel(null, null, "/", "/test  foo bar");
            Assert.IsTrue(cmd.IsCommand);
            Assert.AreEqual("test", cmd.Command);
            Assert.AreEqual(" foo bar", cmd.Parameter);

            cmd = new CommandModel(null, null, "/", "/test foo bar ");
            Assert.IsTrue(cmd.IsCommand);
            Assert.AreEqual("test", cmd.Command);
            Assert.AreEqual("foo bar ", cmd.Parameter);

            cmd = new CommandModel(null, null, "/", "/test  foo bar ");
            Assert.IsTrue(cmd.IsCommand);
            Assert.AreEqual("test", cmd.Command);
            Assert.AreEqual(" foo bar ", cmd.Parameter);
        }
开发者ID:grendello,项目名称:smuxi,代码行数:27,代码来源:CommandModelTests.cs


示例3: CommandHookEnvironment

        public CommandHookEnvironment(CommandModel cmd)
        {
            if (cmd == null) {
                throw new ArgumentNullException("cmd");
            }

            this["CMD"] = cmd.Command;
            this["CMD_PARAMETER"] = cmd.Parameter;
            this["CMD_CHARACTER"] = cmd.CommandCharacter;
        }
开发者ID:pacificIT,项目名称:smuxi,代码行数:10,代码来源:CommandHookEnvironment.cs


示例4: CommandSay

 public void CommandSay(CommandModel cd)
 {
     _Say(cd.Chat, cd.Parameter);
 }
开发者ID:oli-obk,项目名称:smuxi,代码行数:4,代码来源:XmppProtocolManager.cs


示例5: CommandGenerateMessages

        void CommandGenerateMessages(CommandModel cmd)
        {
            var chat = ChatViewManager.CurrentChatView;
            _CommandManager.CommandGenerateMessages(cmd, chat);

            var builder = new MessageBuilder();
            builder.AppendText(
                "ChatView.AddMessage(): MessageTextTagTable.Size: {0}",
                chat.OutputMessageTextView.MessageTextTagTable.Size
            );
            chat.AddMessage(builder.ToMessage());
        }
开发者ID:pacificIT,项目名称:smuxi,代码行数:12,代码来源:Entry.cs


示例6: Command

        public override bool Command(CommandModel command)
        {
            Trace.Call(command);

            bool handled = false;
            if (IsConnected) {
                if (command.IsCommand) {
                } else {
                    _Say(command.Chat, command.Data);
                    handled = true;
                }
            } else {
                if (command.IsCommand) {
                    // commands which work even without beeing connected
                    switch (command.Command) {
                        case "help":
                            CommandHelp(command);
                            handled = true;
                            break;
                        case "connect":
                            CommandConnect(command);
                            handled = true;
                            break;
                    }
                } else {
                    // normal text, without connection
                    NotConnected(command);
                    handled = true;
                }
            }

            return handled;
        }
开发者ID:RoninBG,项目名称:smuxi,代码行数:33,代码来源:OscarProtocolManager.cs


示例7: CommandHelp

        public void CommandHelp(CommandModel cd)
        {
            MessageModel fmsg = new MessageModel();
            TextMessagePartModel fmsgti;

            fmsgti = new TextMessagePartModel();
            fmsgti.Text = _("[OscarProtocolManager Commands]");
            fmsgti.Bold = true;
            fmsg.MessageParts.Add(fmsgti);

            this.Session.AddMessageToChat(cd.FrontendManager.CurrentChat, fmsg);

            string[] help = {
            "help",
            "connect aim/icq username password",
            };

            foreach (string line in help) {
                cd.FrontendManager.AddTextToCurrentChat("-!- " + line);
            }
        }
开发者ID:RoninBG,项目名称:smuxi,代码行数:21,代码来源:OscarProtocolManager.cs


示例8: _CommandHelp

        private void _CommandHelp(CommandModel cd)
        {
            var chatView = ChatViewManager.GetChat(cd.Chat);
            var builder = new MessageBuilder();
            // TRANSLATOR: this line is used as a label / category for a
            // list of commands below
            builder.AppendHeader(_("Frontend Commands"));
            chatView.AddMessage(builder.ToMessage());

            string[] help = {
            "window (number|channelname|queryname|close)",
            "sync",
            "sort",
            "clear",
            "echo data",
            "exec command",
            "detach",
            "list [search key]",
            };

            foreach (string line in help) {
                builder = new MessageBuilder();
                builder.AppendEventPrefix();
                builder.AppendText(line);
                chatView.AddMessage(builder.ToMessage());
            }
        }
开发者ID:pacificIT,项目名称:smuxi,代码行数:27,代码来源:Entry.cs


示例9: _CommandSync

        private void _CommandSync(CommandModel cmd)
        {
            if (Frontend.IsLocalEngine) {
                return;
            }

            var chatView = ChatViewManager.CurrentChatView;
            ThreadPool.QueueUserWorkItem(delegate {
                try {
                    var oldValue = Frontend.UseLowBandwidthMode;
                    // HACK: force a full sync
                    Frontend.UseLowBandwidthMode = false;
                    chatView.Sync();
                    Frontend.UseLowBandwidthMode = oldValue;

                    Gtk.Application.Invoke(delegate {
                        Frontend.UseLowBandwidthMode = false;
                        chatView.Populate();
                        Frontend.UseLowBandwidthMode = oldValue;
                        chatView.ScrollToEnd();
                    });
                } catch (Exception ex) {
                    Frontend.ShowError(null, ex);
                }
            });
        }
开发者ID:pacificIT,项目名称:smuxi,代码行数:26,代码来源:Entry.cs


示例10: Command

        public override bool Command(CommandModel command)
        {
            Trace.Call(command);

            bool handled = false;

            switch (command.Command) {
                case "j":
                case "join":
                    CommandJoin(command);
                    handled = true;
                    break;
                case "say":
                    CommandSay(command);
                    handled = true;
                    break;
                case "help":
                    CommandHelp(command);
                    handled = true;
                    break;
                case "topic":
                    CommandTopic(command);
                    handled = true;
                    break;
                case "uploads":
                    CommandUploads(command);
                    handled = true;
                    break;
                default: // nothing, normal chat
                    handled = true;
                    if (command.Chat is GroupChatModel)
                        SendMessage((GroupChatModel) command.Chat, command.Data);
                    break;
            }

            return handled;
        }
开发者ID:glwu,项目名称:smuxi,代码行数:37,代码来源:CampfireProtocolManager.cs


示例11: _CommandClear

 private void _CommandClear(CommandModel cd)
 {
     ChatViewManager.CurrentChatView.Clear();
 }
开发者ID:pacificIT,项目名称:smuxi,代码行数:4,代码来源:Entry.cs


示例12: CommandHelp

        public void CommandHelp(CommandModel cd)
        {
            MessageModel fmsg = new MessageModel();
            TextMessagePartModel fmsgti;

            fmsgti = new TextMessagePartModel();
            // TRANSLATOR: this line is used as a label / category for a
            // list of commands below
            fmsgti.Text = "[" + _("MSN Commands") + "]";
            fmsgti.Bold = true;
            fmsg.MessageParts.Add(fmsgti);

            Session.AddMessageToChat(cd.Chat, fmsg);

            string[] help = {
            "help",
            "connect msn username password",
            };

            foreach (string line in help) {
                cd.FrontendManager.AddTextToChat(cd.Chat, "-!- " + line);
            }
        }
开发者ID:tuukka,项目名称:smuxi,代码行数:23,代码来源:MsnpProtocolManager.cs


示例13: _Say

        private void _Say(CommandModel command, string text)
        {
            if (!command.Chat.IsEnabled) {
                return;
            }

            //            string target = command.Chat.ID;
            //
            //            _JabberClient.Message(target, text);

            MessageModel msg = new MessageModel();
            TextMessagePartModel msgPart;

            msgPart = new TextMessagePartModel();
            msgPart.Text = "<";
            msg.MessageParts.Add(msgPart);

            msgPart = new TextMessagePartModel();
            msgPart.Text = _UsersAddress;
            //msgPart.ForegroundColor = IrcTextColor.Blue;
            msgPart.ForegroundColor = new TextColor(0x0000FF);
            msg.MessageParts.Add(msgPart);

            msgPart = new TextMessagePartModel();
            msgPart.Text = "> ";
            msg.MessageParts.Add(msgPart);

            msgPart = new TextMessagePartModel();
            msgPart.Text = text;
            msg.MessageParts.Add(msgPart);

                Session.AddMessageToChat(command.Chat, msg);
        }
开发者ID:tuukka,项目名称:smuxi,代码行数:33,代码来源:MsnpProtocolManager.cs


示例14: CommandConnect

        public void CommandConnect(CommandModel cd)
        {
            FrontendManager fm = cd.FrontendManager;

            string user;
            if (cd.DataArray.Length >= 1) {
                user = cd.DataArray[2];
            } else {
                NotEnoughParameters(cd);
                return;
            }

            string pass;
            if (cd.DataArray.Length >= 2) {
                pass = cd.DataArray[3];
            } else {
                NotEnoughParameters(cd);
                return;
            }

            Connect(fm, null, 0, user, pass);
        }
开发者ID:tuukka,项目名称:smuxi,代码行数:22,代码来源:MsnpProtocolManager.cs


示例15: Run

 public override void Run(string commandLine)
 {
     var cmd = new CommandModel(null, Chat, CommandCharacter, commandLine);
     ProtocolManager.Command(cmd);
 }
开发者ID:RAOF,项目名称:smuxi,代码行数:5,代码来源:ProtocolManagerHookCommand.cs


示例16: OpenChat

 public override void OpenChat(FrontendManager fm, ChatModel chat)
 {
     Trace.Call(fm, chat);
     if (chat.ID == "Contacts") {
         OpenContactChat();
         return;
     }
     CommandModel cmd = new CommandModel(fm, NetworkChat, chat.ID);
     switch (chat.ChatType) {
         case ChatType.Person:
             CommandMessageQuery(cmd);
             break;
         case ChatType.Group:
             CommandJoin(cmd);
             break;
     }
 }
开发者ID:oli-obk,项目名称:smuxi,代码行数:17,代码来源:XmppProtocolManager.cs


示例17: CommandSort

        void CommandSort(CommandModel cmd)
        {
            var chats = new List<ChatView>(ChatViewManager.Chats);
            // as the sorting does 2 remoting calls, we use a background thread
            ThreadPool.QueueUserWorkItem(delegate {
                try {
                    chats.Sort((x, y) => {
                        if (x.ProtocolManager != null &&
                            y.ProtocolManager != null &&
                            x.ProtocolManager != y.ProtocolManager) {
                            // REMOTING CALL 1
                            var xprot = x.ProtocolManager.Protocol;
                            // REMOTING CALL 2
                            var yprot = y.ProtocolManager.Protocol;
                            var prot = xprot.CompareTo(yprot);
                            if (prot != 0) {
                                return prot;
                            }

                            // theirs protocols are equal, so their network decide
                            // REMOTING CALL 3
                            var xnet = x.ProtocolManager.NetworkID;
                            // REMOTING CALL 4
                            var ynet = y.ProtocolManager.NetworkID;
                            var net = xnet.CompareTo(ynet);
                            if (net != 0) {
                               return net;
                            }
                        }

                        // their networks are equal, so their type decide
                        var type = GetChatSortValue(y).CompareTo(GetChatSortValue(x));
                        if (type != 0) {
                            return type;
                        }

                        // their types are equal, so their name decides
                        return x.ID.CompareTo(y.ID);
                    });

                    Gtk.Application.Invoke(delegate {
                        for (int i = 0; i < chats.Count; i++) {
                            Frontend.MainWindow.Notebook.ReorderChild(chats[i], i);
                        }
                    });
                } catch (Exception ex) {
            #if LOG4NET
                    _Logger.Error("CommandSort(): Exception", ex);
            #endif
                }
            });
        }
开发者ID:pacificIT,项目名称:smuxi,代码行数:52,代码来源:Entry.cs


示例18: CommandHelp

        public void CommandHelp(CommandModel cd)
        {
            var builder = CreateMessageBuilder();
            builder.AppendEventPrefix();
            // TRANSLATOR: this line is used as a label / category for a
            // list of commands below
            builder.AppendHeader(_("Campfire Commands"));
            Session.AddMessageToFrontend(cd, builder.ToMessage());

            string[] help = {
                "connect campfire username password",
                "join",
                "topic",
                "uploads",
                "say"
            };

            foreach (string line in help) {
                builder = CreateMessageBuilder();
                builder.AppendEventPrefix();
                builder.AppendText(line);
                Session.AddMessageToFrontend(cd, builder.ToMessage());
            }
        }
开发者ID:glwu,项目名称:smuxi,代码行数:24,代码来源:CampfireProtocolManager.cs


示例19: _Command

        private bool _Command(CommandModel cd)
        {
            bool handled = false;

            // command that work even without beeing connected
            if (cd.IsCommand) {
                switch (cd.Command) {
                    case "help":
                        _CommandHelp(cd);
                        break;
                    case "detach":
                        _CommandDetach(cd);
                        handled = true;
                        break;
                    case "window":
                        _CommandWindow(cd);
                        handled = true;
                        break;
                    case "clear":
                        _CommandClear(cd);
                        handled = true;
                        break;
                    case "list":
                        _CommandList(cd);
                        handled = true;
                        break;
                    case "sync":
                        _CommandSync(cd);
                        handled = true;
                        break;
                    case "sort":
                        CommandSort(cd);
                        handled = true;
                        break;
                    case "gc":
                        GC.Collect();
                        handled = true;
                        break;
                    case "generate_messages":
                        CommandGenerateMessages(cd);
                        handled = true;
                        break;
                }
            }

            return handled;
        }
开发者ID:pacificIT,项目名称:smuxi,代码行数:47,代码来源:Entry.cs


示例20: CommandJoin

        public void CommandJoin(CommandModel cmd)
        {
            Trace.Call(cmd);

            RefreshRooms();

            /*
             * cmd.DataArray is split at SP, but that's an allowed character
             * for Campfire. Instead of relying on that, we need to remove the "/join "
             * part and then split on ','
             */
            var chans = cmd.Parameter.Split(',');
            var list = Rooms.Where(r => chans.Any(r.Name.Equals));

            foreach(Room room in list) {
                var chat = new GroupChatModel(room.Id.ToString(), room.Name, null);
                OpenChat(cmd.FrontendManager, chat);
            }
        }
开发者ID:glwu,项目名称:smuxi,代码行数:19,代码来源:CampfireProtocolManager.cs



注:本文中的Smuxi.Engine.CommandModel类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# Engine.FrontendManager类代码示例发布时间:2022-05-26
下一篇:
C# Engine.ChatModel类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap