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

📄 client.cc

📁 MICO2.3.13 corba 环境平台
💻 CC
字号:
/* *  MICO --- a free CORBA implementation *  Copyright (C) 1997-98 Kay Roemer & Arno Puder * *  This program is free software; you can redistribute it and/or modify *  it under the terms of the GNU General Public License as published by *  the Free Software Foundation; either version 2 of the License, or *  (at your option) any later version. * *  This program is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *  GNU General Public License for more details. * *  You should have received a copy of the GNU General Public License *  along with this program; if not, write to the Free Software *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * *  Send comments and/or bug reports to: *                 mico@informatik.uni-frankfurt.de */#include <CORBA-SMALL.h>#ifdef HAVE_ANSI_CPLUSPLUS_HEADERS#include <iostream>#else#include <iostream.h>#endif#include "hello.h"#include <mico/x11.h>#include <X11/Intrinsic.h>#include <X11/StringDefs.h>#include <X11/Xaw/Command.h>#include <X11/Xaw/AsciiText.h>#include <X11/Xaw/Form.h>using namespace std;Widget top, form, entry, quit;HelloWorld_var hello_client;voidreturn_cb (Widget, XEvent *, String *, Cardinal *){    String arg;    XtVaGetValues (entry,		   XtNstring, &arg,		   NULL);    hello_client->hello (arg);}voidquit_cb (Widget, XtPointer, XtPointer){    exit (1);}intmain (int argc, char *argv[]){    /*     * MICO initialization     */    CORBA::ORB_var orb = CORBA::ORB_init (argc, argv, "mico-local-orb");    /*     * X11 initialization     */    static String fallback_res[] = {	"*quit.label: Quit",	NULL    };    XtAppContext appctx;    top = XtAppInitialize (&appctx, "Xhello",			   0, 0,			   &argc, argv,			   fallback_res,			   0, 0);    /*     * Use X11 dispatcher     */    orb->dispatcher (new X11Dispatcher (appctx));    /*     * MICO stuff     */    assert (argc == 2);    CORBA::Object_var obj = orb->bind ("IDL:HelloWorld:1.0", argv[1]);    if (CORBA::is_nil (obj)) {	cout << "cannot bind to " << argv[1] << endl;	return 1;    }    hello_client = HelloWorld::_narrow (obj);    /*     * X11 stuff     */    form = XtVaCreateManagedWidget ("form",				   formWidgetClass,				   top,				   NULL);    // entry field    entry = XtVaCreateManagedWidget ("argument",				     asciiTextWidgetClass,				     form,				     XtNwidth, 150,				     XtNeditType, XawtextEdit,				     XtNresizable, True,				     XtNresize, XawtextResizeWidth,				     NULL);    XtTranslations trans	= XtParseTranslationTable ("<Key>Return: ReturnAction()\n");    XtOverrideTranslations (entry, trans);    static XtActionsRec actions[] = {	{ "ReturnAction", return_cb }    };    XtAppAddActions (appctx, actions, XtNumber (actions));    // quit button    quit = XtVaCreateManagedWidget ("quit",				    commandWidgetClass,				    form,				    XtNfromVert, entry,				    NULL);    XtAddCallback (quit, XtNcallback, quit_cb, 0);    XtRealizeWidget (top);    XtAppMainLoop (appctx);    return 0;}

⌨️ 快捷键说明

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