Initial import of the CDE 2.1.30 sources from the Open Group.
This commit is contained in:
52
cde/programs/dtaction/demo/Makefile.hp
Normal file
52
cde/programs/dtaction/demo/Makefile.hp
Normal file
@@ -0,0 +1,52 @@
|
||||
# $XConsortium: Makefile.hp /main/2 1996/05/13 11:29:32 drk $
|
||||
###########################################################################
|
||||
#
|
||||
# Makefile for dtactiondemo.c
|
||||
#
|
||||
# (c) Copyright 1993, 1994 Hewlett-Packard Company
|
||||
# (c) Copyright 1993, 1994 International Business Machines Corp.
|
||||
# (c) Copyright 1993, 1994 Sun Microsystems, Inc.
|
||||
# (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of
|
||||
# Novell, Inc.
|
||||
###########################################################################
|
||||
|
||||
#ifndef CDE_INSTALLATION_TOP
|
||||
CDE_INSTALLATION_TOP = /usr/dt
|
||||
#endif
|
||||
|
||||
PROGRAM = dtactiondemo
|
||||
SOURCES = dtactiondemo.c
|
||||
OBJECTS = dtactiondemo.o
|
||||
|
||||
CFLAGS = +Obb2000 -Aa
|
||||
OPTIMIZEDFLAGS = -O
|
||||
|
||||
DEFINES = -D_HPUX_SOURCE
|
||||
|
||||
DTINCLUDE = -I$(CDE_INSTALLATION_TOP)/include
|
||||
XMINCLUDE = -I$(CDE_INSTALLATION_TOP)/include
|
||||
X11INCLUDE = -I/usr/include/X11R5
|
||||
EXTRA_INCLUDES =
|
||||
INCLUDES = $(DTINCLUDE) $(XMINCLUDE) $(X11INCLUDE) $(EXTRA_INCLUDES)
|
||||
|
||||
DTSVCLIB = -L$(CDE_INSTALLATION_TOP)/lib -lDtSvc
|
||||
TTLIB = -L$(CDE_INSTALLATION_TOP)/lib -ltt
|
||||
XMLIB = -L$(CDE_INSTALLATION_TOP)/lib -lXm
|
||||
XTLIB = -L$(CDE_INSTALLATION_TOP)/lib -lXt
|
||||
X11LIB = -L/usr/lib/X11R5 -lX11
|
||||
|
||||
LIBRARIES = $(DTSVCLIB) $(TTLIB) $(XMLIB) $(XTLIB) $(X11LIB)
|
||||
|
||||
LDFLAGS =
|
||||
|
||||
.c.o:
|
||||
cc -c $(CFLAGS) $(DEFINES) $(OPTIMIZEDFLAGS) $(INCLUDES) $<
|
||||
|
||||
all:: $(PROGRAM)
|
||||
|
||||
$(PROGRAM):: $(OBJECTS)
|
||||
cc -o $(PROGRAM) $(LDFLAGS) $(OBJECTS) $(LIBRARIES)
|
||||
|
||||
clean::
|
||||
rm -f $(PROGRAM)
|
||||
rm -f $(OBJECTS)
|
||||
47
cde/programs/dtaction/demo/Makefile.ibm
Normal file
47
cde/programs/dtaction/demo/Makefile.ibm
Normal file
@@ -0,0 +1,47 @@
|
||||
# $XConsortium: Makefile.ibm /main/2 1996/05/13 11:29:49 drk $
|
||||
###########################################################################
|
||||
#
|
||||
# Makefile for dtactiondemo.c
|
||||
#
|
||||
# (c) Copyright 1993, 1994 Hewlett-Packard Company
|
||||
# (c) Copyright 1993, 1994 International Business Machines Corp.
|
||||
# (c) Copyright 1993, 1994 Sun Microsystems, Inc.
|
||||
# (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of
|
||||
# Novell, Inc.
|
||||
###########################################################################
|
||||
|
||||
#ifndef CDE_INSTALLATION_TOP
|
||||
CDE_INSTALLATION_TOP = /usr/dt
|
||||
#endif
|
||||
|
||||
PROGRAM = dtactiondemo
|
||||
SOURCES = dtactiondemo.c
|
||||
OBJECTS = dtactiondemo.o
|
||||
|
||||
OPTIMIZEDFLAGS = -O
|
||||
|
||||
DTINCLUDE = -I$(CDE_INSTALLATION_TOP)/include
|
||||
X11INCLUDE = -I/usr/include
|
||||
EXTRA_INCLUDES =
|
||||
INCLUDES = $(DTINCLUDE) $(X11INCLUDE) $(EXTRA_INCLUDES)
|
||||
|
||||
DTSVCLIB = -L$(CDE_INSTALLATION_TOP)/lib -lDtSvc
|
||||
XMLIB = -L$(CDE_INSTALLATION_TOP)/lib -lXm
|
||||
XTLIB = -L$(CDE_INSTALLATION_TOP)/lib -lXt
|
||||
X11LIB = -L/usr/lib -lX11
|
||||
|
||||
LIBRARIES = $(DTSVCLIB) $(XMLIB) $(XTLIB) $(X11LIB)
|
||||
|
||||
LDFLAGS =
|
||||
|
||||
.c.o:
|
||||
cc -c $(OPTIMIZEDFLAGS) $(INCLUDES) $<
|
||||
|
||||
all:: $(PROGRAM)
|
||||
|
||||
$(PROGRAM):: $(OBJECTS)
|
||||
cc -o $(PROGRAM) $(LDFLAGS) $(OBJECTS) $(LIBRARIES)
|
||||
|
||||
clean::
|
||||
rm -f $(PROGRAM)
|
||||
rm -f $(OBJECTS)
|
||||
49
cde/programs/dtaction/demo/Makefile.sun
Normal file
49
cde/programs/dtaction/demo/Makefile.sun
Normal file
@@ -0,0 +1,49 @@
|
||||
# $XConsortium: Makefile.sun /main/2 1996/05/13 11:30:06 drk $
|
||||
###########################################################################
|
||||
#
|
||||
# Makefile for dtactiondemo.c
|
||||
#
|
||||
# (c) Copyright 1993, 1994 Hewlett-Packard Company
|
||||
# (c) Copyright 1993, 1994 International Business Machines Corp.
|
||||
# (c) Copyright 1993, 1994 Sun Microsystems, Inc.
|
||||
# (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of
|
||||
# Novell, Inc.
|
||||
###########################################################################
|
||||
|
||||
#ifndef CDE_INSTALLATION_TOP
|
||||
CDE_INSTALLATION_TOP = /usr/dt
|
||||
#endif
|
||||
|
||||
PROGRAM = dtactiondemo
|
||||
SOURCES = dtactiondemo.c
|
||||
OBJECTS = dtactiondemo.o
|
||||
|
||||
OPTIMIZEDFLAGS = -O
|
||||
|
||||
DTINCLUDE = -I$(CDE_INSTALLATION_TOP)/include
|
||||
X11INCLUDE = -I/usr/openwin/include
|
||||
INCLUDES = $(DTINCLUDE) $(X11INCLUDE)
|
||||
|
||||
DTSVCLIB = -L$(CDE_INSTALLATION_TOP)/lib -lDtSvc
|
||||
XMLIB = -L$(CDE_INSTALLATION_TOP)/lib -lXm
|
||||
XTLIB = -L$(CDE_INSTALLATION_TOP)/lib -lXt
|
||||
X11LIB = -L/usr/openwin/lib -lX11
|
||||
CPLUSPLUS = -L/lib -lC
|
||||
EXTRA_LIBS = -L/usr/openwin/lib -lgen
|
||||
|
||||
LIBRARIES = $(DTSVCLIB) $(XMLIB) $(XTLIB) \
|
||||
$(X11LIB) $(CPLUSPLUS) $(EXTRA_LIBS)
|
||||
|
||||
LDFLAGS = -R$(CDE_INSTALLATION_TOP)/lib:/usr/openwin/lib
|
||||
|
||||
.c.o:
|
||||
cc -c $(OPTIMIZEDFLAGS) $(INCLUDES) $<
|
||||
|
||||
all:: $(PROGRAM)
|
||||
|
||||
$(PROGRAM):: $(OBJECTS)
|
||||
cc -o $(PROGRAM) $(LDFLAGS) $(OBJECTS) $(LIBRARIES)
|
||||
|
||||
clean::
|
||||
rm -f $(PROGRAM)
|
||||
rm -f $(OBJECTS)
|
||||
51
cde/programs/dtaction/demo/Makefile.usl
Normal file
51
cde/programs/dtaction/demo/Makefile.usl
Normal file
@@ -0,0 +1,51 @@
|
||||
# $XConsortium: Makefile.usl /main/2 1996/05/13 11:30:23 drk $
|
||||
###########################################################################
|
||||
#
|
||||
# Makefile for dtactiondemo.c
|
||||
#
|
||||
# (c) Copyright 1993, 1994 Hewlett-Packard Company
|
||||
# (c) Copyright 1993, 1994 International Business Machines Corp.
|
||||
# (c) Copyright 1993, 1994 Sun Microsystems, Inc.
|
||||
# (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of
|
||||
# Novell, Inc.
|
||||
###########################################################################
|
||||
|
||||
#ifndef CDE_INSTALLATION_TOP
|
||||
CDE_INSTALLATION_TOP = /usr/dt
|
||||
#endif
|
||||
|
||||
PROGRAM = dtactiondemo
|
||||
SOURCES = dtactiondemo.c
|
||||
OBJECTS = dtactiondemo.o
|
||||
|
||||
OPTIMIZEDFLAGS = -O
|
||||
|
||||
DTINCLUDE = -I$(CDE_INSTALLATION_TOP)/include
|
||||
X11INCLUDE = -I/usr/X/include
|
||||
INCLUDES = $(DTINCLUDE) $(X11INCLUDE)
|
||||
|
||||
DTSVCLIB = -L$(CDE_INSTALLATION_TOP)/lib -lDtSvc
|
||||
XMLIB = -L$(CDE_INSTALLATION_TOP)/lib -lXm
|
||||
XTLIB = -L$(CDE_INSTALLATION_TOP)/lib -lXt
|
||||
X11LIB = -L/usr/X/lib -lX11
|
||||
CPLUSPLUS = -L/usr/add-on/C++/lib -lC
|
||||
EXTRA_LIBS = -L/usr/lib -lw -lgen -lnsl -lresolv -lsocket \
|
||||
-lXIM -L/usr/add-on/C++/lib -lC
|
||||
|
||||
LIBRARIES = $(DTSVCLIB) $(XMLIB) $(XTLIB) \
|
||||
$(X11LIB) $(CPLUSPLUS) $(EXTRA_LIBS)
|
||||
|
||||
#LDFLAGS = -R$(CDE_INSTALLATION_TOP)/lib:/usr/X/lib
|
||||
|
||||
.c.o:
|
||||
cc -c $(OPTIMIZEDFLAGS) $(INCLUDES) $<
|
||||
|
||||
all:: $(PROGRAM)
|
||||
|
||||
$(PROGRAM):: $(OBJECTS)
|
||||
cc -o $(PROGRAM) $(LDFLAGS) $(OBJECTS) $(LIBRARIES)
|
||||
|
||||
clean::
|
||||
rm -f $(PROGRAM)
|
||||
rm -f $(OBJECTS)
|
||||
|
||||
234
cde/programs/dtaction/demo/dtactiondemo.c
Normal file
234
cde/programs/dtaction/demo/dtactiondemo.c
Normal file
@@ -0,0 +1,234 @@
|
||||
/* $TOG: dtactiondemo.c /main/4 1998/04/20 12:47:18 mgreess $ */
|
||||
/*****************************************************************************
|
||||
*****************************************************************************
|
||||
**
|
||||
** File: dtactiondemo.c
|
||||
**
|
||||
** Description: This file contains the dtactiondemo program that
|
||||
** demonstrates the use of the Action Library functions.
|
||||
** It executes actions from the action database. It's
|
||||
** usage is as follows:
|
||||
**
|
||||
** Usage: dtactiondemo ACTION [file1 file2 ...]
|
||||
**
|
||||
** where ACTION is the name of an action and file1, ...
|
||||
** are the action's file arguments.
|
||||
**
|
||||
** This program does not support the "host:" semantics.
|
||||
**
|
||||
** Use the datatyping demo to display the supported
|
||||
** actions for a file.
|
||||
**
|
||||
**
|
||||
** (c) Copyright 1993, 1994 Hewlett-Packard Company
|
||||
** (c) Copyright 1993, 1994 International Business Machines Corp.
|
||||
** (c) Copyright 1993, 1994 Sun Microsystems, Inc.
|
||||
** (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of
|
||||
** Novell, Inc.
|
||||
**
|
||||
**
|
||||
****************************************************************************
|
||||
************************************<+>*************************************/
|
||||
|
||||
#include <limits.h>
|
||||
#include <stddef.h>
|
||||
#include <nl_types.h>
|
||||
#include <signal.h>
|
||||
|
||||
#include <errno.h>
|
||||
|
||||
#include <Xm/XmP.h>
|
||||
#include <Xm/Text.h>
|
||||
#include <Xm/SelectioB.h>
|
||||
#include <Xm/MessageB.h>
|
||||
#include <Xm/Protocols.h>
|
||||
#include <Xm/MwmUtil.h>
|
||||
|
||||
#include <Dt/EnvControlP.h>
|
||||
#include <Dt/DbUtil.h>
|
||||
#include <Dt/Action.h>
|
||||
|
||||
#include <time.h>
|
||||
|
||||
#ifndef PATH_MAX
|
||||
# define PATH_MAX 511
|
||||
#endif
|
||||
#ifndef HOSTNAME_MAX_LEN
|
||||
# define HOSTNAME_MAX_LEN 127
|
||||
#endif
|
||||
|
||||
|
||||
/* Command line options */
|
||||
XrmOptionDescRec option_list[] =
|
||||
{
|
||||
{ "-timeout", "timeout", XrmoptionSepArg, NULL},
|
||||
{ "-contextHost", "contextHost",XrmoptionSepArg, NULL},
|
||||
{ "-contextDir", "contextDir", XrmoptionSepArg, NULL},
|
||||
{ "-execHost", "execHost", XrmoptionSepArg, NULL},
|
||||
{ "-termParms", "termParms", XrmoptionSepArg, NULL},
|
||||
};
|
||||
|
||||
/* Fallback Resources */
|
||||
static char *fallback_resources[] = {
|
||||
"*timeout: 1",
|
||||
(char *) NULL
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
int timer;
|
||||
char * contextHost;
|
||||
char * contextDir;
|
||||
char * execHost;
|
||||
char * termParms;
|
||||
} ApplArgs, *ApplArgsPtr;
|
||||
|
||||
|
||||
|
||||
/* Dtaction resources */
|
||||
XtResource resources[] =
|
||||
{
|
||||
{
|
||||
"timeout", "Timeout", XmRInt, sizeof(int),
|
||||
XtOffsetOf(ApplArgs, timer), XmRImmediate, (XtPointer) 1,
|
||||
},
|
||||
{
|
||||
"contextHost", "ContextHost", XmRString, sizeof(char *),
|
||||
XtOffsetOf(ApplArgs, contextHost), XmRImmediate, (XtPointer) NULL,
|
||||
},
|
||||
{
|
||||
"contextDir", "ContextDir", XmRString, sizeof(char *),
|
||||
XtOffsetOf(ApplArgs, contextDir), XmRImmediate, (XtPointer) NULL,
|
||||
},
|
||||
{
|
||||
"execHost", "ExecHost", XmRString, sizeof(char *),
|
||||
XtOffsetOf(ApplArgs, execHost), XmRImmediate, (XtPointer) NULL,
|
||||
},
|
||||
{
|
||||
"termParms", "TermParms", XmRString, sizeof(char *),
|
||||
XtOffsetOf(ApplArgs, termParms), XmRImmediate, (XtPointer) NULL,
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
void CheckForDone(
|
||||
XtPointer clientData,
|
||||
XtIntervalId id) ;
|
||||
|
||||
|
||||
/******** End Forward Function Declarations ********/
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
static Widget toplevel;
|
||||
static ApplArgs appArgs;
|
||||
static DtDirPaths *dirPaths;
|
||||
static XtAppContext appContext;
|
||||
|
||||
|
||||
/* ARGSUSED */
|
||||
void
|
||||
CheckForDone(
|
||||
XtPointer clientData,
|
||||
XtIntervalId id)
|
||||
{
|
||||
if ( toplevel->core.num_popups == 0 )
|
||||
exit(0);
|
||||
|
||||
XtAppAddTimeOut(appContext,
|
||||
appArgs.timer * 1000, (XtTimerCallbackProc)CheckForDone, NULL);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
main(
|
||||
int argc,
|
||||
char **argv )
|
||||
{
|
||||
Display *display;
|
||||
Arg args[20];
|
||||
int n=0;
|
||||
char *actionName;
|
||||
int numArgs = 0;
|
||||
char contextHost[HOSTNAME_MAX_LEN+1];
|
||||
char contextDir[PATH_MAX+1];
|
||||
DtActionFileArgp ap = NULL;
|
||||
|
||||
if (argc < 2) exit(0);
|
||||
|
||||
XtSetLanguageProc(NULL, NULL, NULL);
|
||||
|
||||
/* Initialize the toolkit and open the display */
|
||||
(void) signal(SIGCLD, (void (*)())SIG_IGN);
|
||||
toplevel = XtAppInitialize(&appContext , "Dtaction", option_list,
|
||||
sizeof(option_list)/sizeof(XrmOptionDescRec), &argc, argv,
|
||||
fallback_resources, (ArgList) NULL, (Cardinal) NULL);
|
||||
|
||||
XtSetArg(args[n], XmNallowShellResize, True); n++;
|
||||
XtSetArg(args[n], XmNmappedWhenManaged, False); n++;
|
||||
XtSetArg(args[n], XmNheight, 1); n++;
|
||||
XtSetArg(args[n], XmNwidth, 1); n++;
|
||||
XtSetValues(toplevel, args, n);
|
||||
XtRealizeWidget(toplevel);
|
||||
|
||||
display = XtDisplay (toplevel);
|
||||
XtGetApplicationResources(toplevel, &appArgs,
|
||||
resources, XtNumber(resources), NULL, 0);
|
||||
|
||||
if (appArgs.timer < 1)
|
||||
appArgs.timer = 1;
|
||||
|
||||
_DtEnvControl(DT_ENV_SET);
|
||||
|
||||
/* Get Dt initialized */
|
||||
if (DtInitialize (display, toplevel, argv[0], "Dtaction") == False)
|
||||
{
|
||||
/* Fatal Error: could not connect to the messaging system. */
|
||||
/* DtInitialize() has already logged an appropriate error msg */
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
|
||||
/* Load the filetype/action dbs; DtInvokeAction() requires this */
|
||||
|
||||
DtDbLoad();
|
||||
|
||||
/*
|
||||
* Get the requested action name
|
||||
*/
|
||||
actionName = argv[1];
|
||||
|
||||
if ( argc > 2 )
|
||||
{
|
||||
/*
|
||||
* create an action arg array for the file objects for
|
||||
* this action. This number of objects should be one
|
||||
* less than the argument count. The returned vector will
|
||||
* be terminated by a null pointer.
|
||||
*/
|
||||
numArgs= argc - 2;
|
||||
ap = (DtActionFileArgp) XtCalloc(numArgs,sizeof(DtActionFileArg));
|
||||
}
|
||||
|
||||
for ( n = 0; n < numArgs; n++) {
|
||||
ap[n].type = NULL;
|
||||
ap[n].host = NULL;
|
||||
ap[n].name = argv[n+2];
|
||||
}
|
||||
|
||||
_DtActionInvokeOnFiles(toplevel, actionName, numArgs, ap,
|
||||
appArgs.termParms,appArgs.execHost,appArgs.contextHost,
|
||||
appArgs.contextDir,True);
|
||||
|
||||
/*
|
||||
* Set up a timer for when it is safe to exit.
|
||||
* We must invoke XtMainLoop() at least once, to force any prompt or
|
||||
* error dialogs to get posted.
|
||||
*/
|
||||
XtAppAddTimeOut(appContext,
|
||||
appArgs.timer * 1000, (XtTimerCallbackProc)CheckForDone,
|
||||
NULL);
|
||||
XtAppMainLoop(appContext);
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user