⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 server.cc

📁 支持组件模型CCM的开源中间件-mico
💻 CC
字号:
#include <CORBA.h>#ifdef HAVE_ANSI_CPLUSPLUS_HEADERS#include <iostream>#else#include <iostream.h>#endif#include <mico/gtkmico.h>#include <gtk/gtk.h>#include "hello.h"GtkWidget *entry;CORBA::Boolean finished = FALSE;class MyCallback : public CORBA::DispatcherCallback {public:    void callback (CORBA::Dispatcher *disp, Event ev)     {	gtk_entry_set_text (GTK_ENTRY (entry), "");    }};class Hello_impl : virtual public POA_HelloWorld {public:    void hello (const char *s)    {	gtk_entry_set_text (GTK_ENTRY (entry), s);    }};voidquit_cb (GtkWidget *w, gpointer data){    finished = TRUE;}intmain (int argc, char *argv[]){    /*     * MICO initialization     */    CORBA::ORB_var orb = CORBA::ORB_init(argc, argv);    CORBA::Object_var obj = orb->resolve_initial_references("RootPOA");    PortableServer::POA_var poa = PortableServer::POA::_narrow(obj);    PortableServer::POAManager_var mgr = poa->the_POAManager();    /*     * GTK initialization     */    gtk_init (&argc, &argv);    /*     * Use GTK dispatcher     */    orb->dispatcher (new GtkDispatcher ());    orb->dispatcher ()->tm_event (new MyCallback (), 5000);    /*     * MICO stuff     */    Hello_impl* hello = new Hello_impl();    hello->_this();    /*     * GTK stuff     */    GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL);        GtkWidget *vbox = gtk_vbox_new (FALSE, 0);    gtk_container_add (GTK_CONTAINER (window), vbox);    gtk_widget_show (vbox);    // entry    entry = gtk_entry_new ();    gtk_entry_set_text (GTK_ENTRY(entry), "Text from client");    gtk_box_pack_start (GTK_BOX (vbox), entry, FALSE, FALSE, 0);    gtk_widget_show (entry);    // quit button    GtkWidget *button = gtk_button_new_with_label("quit");    gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);    gtk_widget_show (button);    gtk_signal_connect (GTK_OBJECT (button), "clicked",			GTK_SIGNAL_FUNC (quit_cb), NULL);        gtk_widget_show (window);    mgr->activate();    while(!finished) {	orb->perform_work();    }    orb->shutdown(TRUE);    return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -