]> andersk Git - moira.git/blob - clients/mmoira/main.c
Initial revision
[moira.git] / clients / mmoira / main.c
1 /* $Header$
2  *
3  *      Copyright 1991 by the Massachusetts Institute of Technology.
4  *
5  *      For further information on copyright and distribution 
6  *      see the file mit-copyright.h
7  */
8
9 #include        <mit-copyright.h>
10 #include        <stdio.h>
11 #include        <moira.h>
12 #include        <Xm/PushB.h>
13 #include        <Xm/BulletinB.h>
14 #include        "mmoira.h"
15
16 extern MenuItem MenuRoot;
17
18 void    map_menu_widget();
19 Widget  CreateMenu();
20 Widget  BuildMenuTree();
21
22 Widget  toplevel;
23 char *user, *program_name, *moira_server;
24
25 main(argc, argv)
26 int argc;
27 char *argv[];
28 {
29         Widget  button, bboard;
30         Widget  menuwidget;
31         int     n;
32
33         user = "mar";
34         program_name = argv[0];
35         moira_server = "";
36
37         mr_connect(moira_server);
38         mr_auth("mmoira");
39
40         toplevel = XtInitialize("toplevel", "Moira", NULL, 0, 
41                                 &argc, argv);
42
43         bboard = XtCreateManagedWidget( "bboard",
44                                        xmBulletinBoardWidgetClass,
45                                        toplevel, NULL, 0);
46         button = XtCreateManagedWidget("button",
47                                        xmPushButtonWidgetClass,
48                                        bboard, NULL, 0);
49
50         menuwidget = BuildMenuTree(bboard, &MenuRoot);
51
52         XtRealizeWidget(toplevel);
53
54         map_menu_widget(bboard, menuwidget, NULL);
55         XtMainLoop();
56 }
57
58 Widget
59 BuildMenuTree(topW, spec)
60 Widget          topW;
61 MenuItem        *spec;
62 {
63         return (CreateMenu(topW, spec->submenu, XmHORIZONTAL));
64 }
65
66
67 int MoiraQuery(query, argc, argv, callback, data)
68 char *query;
69 int argc;
70 char **argv;
71 int (*callback)();
72 caddr_t data;
73 {
74     int status;
75
76     status = mr_query(query, argc, argv, callback, data);
77     if (status != MR_ABORTED && status != MR_NOT_CONNECTED)
78       return(status);
79     status = mr_connect(moira_server);
80     if (status) {
81         com_err(program_name, status, " while re-connecting to server %s",
82                 moira_server);
83         return(MR_ABORTED);
84     }
85     status = mr_auth("mmoira");
86     if (status) {
87         com_err(program_name, status, " while re-authenticating to server %s",
88                 moira_server);
89         mr_disconnect();
90         return(MR_ABORTED);
91     }
92     status = mr_query(query, argc, argv, callback, data);
93     return(status);
94
95 }
This page took 0.141145 seconds and 5 git commands to generate.