File:  [LON-CAPA] / capa / capa51 / GUITools / manager.c
Revision 1.4: download - view: text, annotated - select for diffs
Mon Aug 7 20:47:29 2000 UTC (23 years, 9 months ago) by albertel
Branches: MAIN
CVS tags: version_2_9_X, version_2_9_99_0, version_2_9_1, version_2_9_0, version_2_8_X, version_2_8_99_1, version_2_8_99_0, version_2_8_2, version_2_8_1, version_2_8_0, version_2_7_X, version_2_7_99_1, version_2_7_99_0, version_2_7_1, version_2_7_0, version_2_6_X, version_2_6_99_1, version_2_6_99_0, version_2_6_3, version_2_6_2, version_2_6_1, version_2_6_0, version_2_5_X, version_2_5_99_1, version_2_5_99_0, version_2_5_2, version_2_5_1, version_2_5_0, version_2_4_X, version_2_4_99_0, version_2_4_2, version_2_4_1, version_2_4_0, version_2_3_X, version_2_3_99_0, version_2_3_2, version_2_3_1, version_2_3_0, version_2_2_X, version_2_2_99_1, version_2_2_99_0, version_2_2_2, version_2_2_1, version_2_2_0, version_2_1_X, version_2_1_99_3, version_2_1_99_2, version_2_1_99_1, version_2_1_99_0, version_2_1_3, version_2_1_2, version_2_1_1, version_2_1_0, version_2_12_X, version_2_11_X, version_2_11_4_uiuc, version_2_11_4_msu, version_2_11_4, version_2_11_3_uiuc, version_2_11_3_msu, version_2_11_3, version_2_11_2_uiuc, version_2_11_2_msu, version_2_11_2_educog, version_2_11_2, version_2_11_1, version_2_11_0_RC3, version_2_11_0_RC2, version_2_11_0_RC1, version_2_11_0, version_2_10_X, version_2_10_1, version_2_10_0_RC2, version_2_10_0_RC1, version_2_10_0, version_2_0_X, version_2_0_99_1, version_2_0_2, version_2_0_1, version_2_0_0, version_1_99_3, version_1_99_2, version_1_99_1_tmcc, version_1_99_1, version_1_99_0_tmcc, version_1_99_0, version_1_3_X, version_1_3_3, version_1_3_2, version_1_3_1, version_1_3_0, version_1_2_X, version_1_2_99_1, version_1_2_99_0, version_1_2_1, version_1_2_0, version_1_1_X, version_1_1_99_5, version_1_1_99_4, version_1_1_99_3, version_1_1_99_2, version_1_1_99_1, version_1_1_99_0, version_1_1_3, version_1_1_2, version_1_1_1, version_1_1_0, version_1_0_99_3, version_1_0_99_2, version_1_0_99_1, version_1_0_99, version_1_0_3, version_1_0_2, version_1_0_1, version_1_0_0, version_0_99_5, version_0_99_4, version_0_99_3, version_0_99_2, version_0_99_1, version_0_99_0, version_0_6_2, version_0_6, version_0_5_1, version_0_5, version_0_4, stable_2002_spring, stable_2002_july, stable_2002_april, stable_2001_fall, release_5-1-3, loncapaMITrelate_1, language_hyphenation_merge, language_hyphenation, conference_2003, bz6209-base, bz6209, STABLE, HEAD, GCI_3, GCI_2, GCI_1, CAPA_5-1-6, CAPA_5-1-5, CAPA_5-1-4_RC1, BZ4492-merge, BZ4492-feature_horizontal_radioresponse, BZ4492-feature_Support_horizontal_radioresponse, BZ4492-Support_horizontal_radioresponse
- fixed license notices the reference the GNU GPL rather than the GNU LGPL

    1: /* main progam for manager
    2:    Copyright (C) 1992-2000 Michigan State University
    3: 
    4:    The CAPA system is free software; you can redistribute it and/or
    5:    modify it under the terms of the GNU General Public License as
    6:    published by the Free Software Foundation; either version 2 of the
    7:    License, or (at your option) any later version.
    8: 
    9:    The CAPA system is distributed in the hope that it will be useful,
   10:    but WITHOUT ANY WARRANTY; without even the implied warranty of
   11:    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   12:    General Public License for more details.
   13: 
   14:    You should have received a copy of the GNU General Public
   15:    License along with the CAPA system; see the file COPYING.  If not,
   16:    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
   17:    Boston, MA 02111-1307, USA.
   18: 
   19:    As a special exception, you have permission to link this program
   20:    with the TtH/TtM library and distribute executables, as long as you
   21:    follow the requirements of the GNU GPL in regard to all of the
   22:    software in the executable aside from TtH/TtM.
   23: */
   24: 
   25: /*
   26:  * manager.c
   27:  * Guy Albertelli II 1997
   28:  */
   29: #include <stdio.h>
   30: #include <tk.h>
   31: #include <stdlib.h>
   32: #include <pProj/capaCommon.h>
   33: #include <unistd.h>
   34: #include "manager.h"
   35: 
   36: extern Tcl_Interp *gInterp;
   37: 
   38: int Manager_Init(Tcl_Interp *interp);
   39: int main(int argc,char **argv)
   40: {
   41:   char * rDisplay,*q,filename[BUFFER_SIZE],buffer[BUFFER_SIZE];
   42:   int  found=1;
   43: 
   44:   gInterp=Tcl_CreateInterp();
   45:   if (gInterp ==NULL)
   46:   {
   47:     fprintf(stderr,"Couldn't get a new Tcl Interp\n");
   48:     return -1;
   49:   }
   50: 
   51:   rDisplay = getenv("DISPLAY");
   52:   
   53:   if (rDisplay==NULL)
   54:   {
   55:     fprintf(stderr,"getenv for DISPLAY returned NULL\n");
   56:     return -2;
   57:   }
   58:   
   59:   if (Tcl_SetVar2 (gInterp, "env", "DISPLAY", rDisplay, TCL_GLOBAL_ONLY) == NULL) 
   60:   {
   61:     fprintf(stderr,"Couldn't set env(DISPLAY) = %s\n",rDisplay);
   62:     return -3;
   63:   }
   64: 
   65:   q = Tcl_Merge(argc-1, argv+1);
   66:   Tcl_SetVar(gInterp, "argv", q, TCL_GLOBAL_ONLY);
   67:   ckfree(q);
   68:   sprintf(buffer, "%d", argc-1);
   69:   Tcl_SetVar(gInterp, "argc", buffer, TCL_GLOBAL_ONLY);
   70:   Tcl_SetVar(gInterp, "argv0", argv[0],TCL_GLOBAL_ONLY);
   71:   Tcl_SetVar(gInterp, "tcl_interactive","0", TCL_GLOBAL_ONLY);
   72: 
   73:   if (Tcl_Init(gInterp) == TCL_ERROR) 
   74:   {
   75:     fprintf(stderr,"Tcl_Init error\n");
   76:     fprintf(stderr,"%d\n",TCL_ERROR);
   77:     fprintf(stderr,"%s\n",gInterp->result);
   78:     return -4;
   79:   }
   80:   
   81:   if (Tk_Init(gInterp) == TCL_ERROR) 
   82:   {
   83:     fprintf(stderr,"Tk_Init error\n");
   84:     fprintf(stderr,"%d\n",TCL_ERROR);
   85:     fprintf(stderr,"%s\n",gInterp->result);
   86:     return -5;
   87:   }
   88: 
   89:   Manager_Init(gInterp);
   90:   Scorer_Init(gInterp);
   91: 
   92:   sprintf(filename,"./utils.tcl");
   93:   if( capa_access(filename, F_OK) == -1 ) {
   94:     sprintf(filename,"/usr/local/bin/Manager/utils.tcl");
   95:     if( capa_access(filename, F_OK) == -1 ) {
   96:       sprintf(filename,"/usr/local/lib/CAPA45/utils.tcl");
   97:       if( capa_access(filename, F_OK) == -1 ) {
   98: 	sprintf(filename,"/usr/local/lib/utils.tcl");
   99: 	if( capa_access(filename, F_OK) == -1 ) {
  100: 	  sprintf(filename,"/usr/local/lib/utils.tcl");
  101: 	  if( capa_access(filename, F_OK) == -1 ) {
  102: 	    sprintf(filename,"/usr/local/lib/CAPA45/Manager/utils.tcl");
  103: 	    if( capa_access(filename, F_OK) == -1 ) {
  104: 	      sprintf(filename,"/usr/lib/utils.tcl");
  105: 	      if( capa_access(filename, F_OK) == -1 ) { /* I gave up! */
  106: 		found=0;
  107: 	      } 
  108: 	    }
  109: 	  }
  110: 	} 
  111:       }
  112:     }
  113:   }
  114: 
  115:   if( found ) {
  116:     if (Tcl_EvalFile(gInterp, filename) != TCL_OK) 
  117:       {
  118: 	fprintf(stderr,"%s\n",gInterp->result);
  119: 	return -6;
  120:       }
  121:   } else {
  122:     fprintf(stderr,"Unable to find utils.tcl\n");
  123:     exit(-7);
  124:   }
  125: 
  126:   sprintf(filename,"./common.tcl");
  127:   if( capa_access(filename, F_OK) == -1 ) {
  128:     sprintf(filename,"/usr/local/bin/Manager/common.tcl");
  129:     if( capa_access(filename, F_OK) == -1 ) {
  130:       sprintf(filename,"/usr/local/lib/CAPA45/common.tcl");
  131:       if( capa_access(filename, F_OK) == -1 ) {
  132: 	sprintf(filename,"/usr/local/lib/common.tcl");
  133: 	if( capa_access(filename, F_OK) == -1 ) {
  134: 	  sprintf(filename,"/usr/local/lib/common.tcl");
  135: 	  if( capa_access(filename, F_OK) == -1 ) {
  136: 	    sprintf(filename,"/usr/local/lib/CAPA45/Manager/common.tcl");
  137: 	    if( capa_access(filename, F_OK) == -1 ) {
  138: 	      sprintf(filename,"/usr/lib/common.tcl");
  139: 	      if( capa_access(filename, F_OK) == -1 ) { /* I gave up! */
  140: 		found=0;
  141: 	      } 
  142: 	    }
  143: 	  }
  144: 	} 
  145:       }
  146:     }
  147:   }  
  148:   if( found ) {
  149:     if (Tcl_EvalFile(gInterp, filename) != TCL_OK) 
  150:       {
  151: 	fprintf(stderr,"%s\n",gInterp->result);
  152: 	return -6;
  153:       }
  154:   } else {
  155:     fprintf(stderr,"Unable to find common.tcl\n");
  156:     exit(-7);
  157:   }
  158:   sprintf(filename,"./manager.tcl");
  159:   if( capa_access(filename, F_OK) == -1 ) {
  160:     sprintf(filename,"/usr/local/bin/Manager/manager.tcl");
  161:     if( capa_access(filename, F_OK) == -1 ) {
  162:       sprintf(filename,"/usr/local/lib/CAPA45/manager.tcl");
  163:       if( capa_access(filename, F_OK) == -1 ) {
  164: 	sprintf(filename,"/usr/local/lib/manager.tcl");
  165: 	if( capa_access(filename, F_OK) == -1 ) {
  166: 	  sprintf(filename,"/usr/local/lib/manager.tcl");
  167: 	  if( capa_access(filename, F_OK) == -1 ) {
  168: 	    sprintf(filename,"/usr/local/lib/CAPA45/Manager/manager.tcl");
  169: 	    if( capa_access(filename, F_OK) == -1 ) {
  170: 	      sprintf(filename,"/usr/lib/manager.tcl");
  171: 	      if( capa_access(filename, F_OK) == -1 ) { /* I gave up! */
  172: 		found=0;
  173: 	      } 
  174: 	    }
  175: 	  }
  176: 	} 
  177:       }
  178:     }
  179:   }
  180: 
  181:   /*
  182:   fprintf(stderr,"HEY STILL IN DEVELOPEMENT MODE\n");
  183:   if (Tcl_EvalFile(gInterp, "manager.tcl") 
  184:       != TCL_OK) 
  185:   {
  186:     fprintf(stderr,"%s\n",gInterp->result);
  187:     return -6;
  188:   }
  189:   */
  190:   
  191:   if( found ) {
  192:     if (Tcl_EvalFile(gInterp, filename) != TCL_OK) 
  193:     {
  194:       fprintf(stderr,"%s\n",gInterp->result);
  195:       return -6;
  196:     }
  197:     while(Tcl_DoOneEvent(TCL_ALL_EVENTS));
  198:   } else {
  199: 	fprintf(stderr,"Unable to find manager.tcl\n");
  200: 	exit(-7);
  201:   }
  202:   return 0;
  203: }
  204: 
  205: 
  206: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>