Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members

msd_api_admin.cc

00001 //---------------------------------------------------
00002 // msd_api_admin.cc
00003 // 
00004 // Project: PDBe API Framework 
00005 // Module:  PDBe API Administration program  
00006 //
00007 // To build:
00008 //    make app
00009 //
00010 // Last updated: 25 February 2004 10:17
00011 // (C) Siamak Sobhany
00012 //---------------------------------------------------
00013 
00014 
00015 
00016 #include <stdlib.h>
00017 #include <stdio.h>
00018 #include <time.h>
00019 #include <unistd.h>
00020 #ifndef __MSD_USER_H__
00021 #include "msd_user.h"
00022 #endif
00023 #ifndef __MSD_ADMIN_H__
00024 #include "msd_admin.h"
00025 #endif
00026 
00027 void  PrintHelp ( char * argv0 )  {
00028   printf ( 
00029     "\n"
00030     "PDBe SOAP Server Administration Program\n"
00031     "======================================\n"
00032     "\n"
00033     "Usage: %s  [-option]\n"
00034     "\n"
00035     "-option:\n"
00036         "  -i: Initializes administration.\n"
00037         "  -a: Add User.\n"
00038         "  -e: Edit User.\n"
00039         "  -d: Delete User.\n"
00040         "  -g: Get User Data.\n"
00041         "  -l: Activates Lisp evaluator.\n"
00042         "  -p: Activates Prolog Interpreter.\n"
00043         "  -v: Interactive Lisp evaluator.\n"
00044         "  -t: Create Database structure from tables attributes.\n"
00045         "  -s: Create SOAP data types from tables attributes.\n"
00046         "  -m: Loads Meta Data.\n"
00047     "  -h: Prints this help message.\n"
00048     "\n",argv0
00049          );
00050 }
00051 
00052 
00053 
00054 int main(int argc, char* argv[]) {
00055  
00056   int     iparam=0;     /* integer parameter */
00057   double  dparam=0;     /* double parameter */
00058   char  sparam[16]="";    /* string parameter */
00059   int     fparam=0;     /* boolean flag */
00060  
00061   int xargc; 
00062   char** xargv;
00063   char* usern="api2";
00064   char* passwd="api255";
00065   char* logstr="api2/api255@msdsrchd";
00066   
00067   char* un;
00068   char* pass;
00069   char* loginstr;
00070   un = (char*)malloc(strlen(usern)+1);
00071   pass = (char*)malloc(strlen(passwd)+1);
00072   loginstr = (char*)malloc(strlen(logstr)+1);
00073   strcpy(un, usern);
00074   strcpy(pass, passwd);
00075   strcpy(loginstr, logstr);
00076   
00077   if (argc<2)  {
00078     PrintHelp ( argv[0] );
00079     return 1;
00080   } 
00081   
00082   
00083   xargc=argc;
00084   xargv=argv;
00085  
00086   argc--;
00087   argv++;
00088   
00089   msdAdmin admin;
00090  
00091 
00092     while (argc > 0 && (*argv[0] == '-')){  /* && (strncmp(*argv,"-*",1) == 0)*/
00093         
00094                 if (strncmp (*argv,"-i",2) == 0) {
00095             admin.msdInit();
00096                         
00097         }
00098                 else if (strncmp (*argv,"-l",2) == 0) {
00099             
00100                         argv++;
00101                         argc--;
00102                         xargc=argc;
00103             xargv=argv;
00104                         msd_lisp_init(xargc, xargv);
00105             msd_lisp_load("xlisp.lsp");
00106             msd_lisp_load("clisp.lsp");
00107           
00108         }
00109                 else if (strncmp (*argv,"-p",2) == 0) {
00110             
00111                         argv++;
00112                         argc--;
00113                         xargc=argc;
00114             xargv=argv;
00115                         msd_lisp_init(xargc, xargv);
00116             msd_lisp_load("xlisp.lsp");
00117             msd_lisp_load("clisp.lsp");
00118                         msd_lisp_load("prolog.lsp");
00119                         
00120           
00121         }
00122                 else if (strncmp (*argv,"-v",2) == 0) {
00123             
00124                         argv++;
00125                         argc--;
00126                         xargc=argc;
00127             xargv=argv;
00128                         msd_lisp_init(xargc, xargv);
00129             msd_lisp_load("xlisp.lsp");
00130             msd_lisp_load("clisp.lsp");
00131                         msd_lisp_eval(); 
00132         }
00133                 else if (strncmp (*argv,"-a",2) == 0) {
00134             admin.msdAddUser();
00135                         
00136         }
00137         else if (strncmp (*argv,"-d",2) == 0) {
00138             admin.msdDelUser();
00139                         
00140         }
00141                 else if (strncmp (*argv,"-e",2) == 0) {
00142                         admin.msdEditUser();
00143            
00144                 }
00145         
00146         else if (strncmp (*argv,"-g",2) == 0) {
00147             admin.msdGetUser();
00148                         
00149         }
00150                 else if (strncmp (*argv,"-h",2) == 0) {
00151             PrintHelp ( argv[0] );
00152                         
00153         }
00154                 else if (strncmp (*argv,"-t",2) == 0) {
00155         msd_write_table_attributes("WHOUSE1","api2/api255@msdsrchd", "include/dbstruct.h");
00156                         
00157         }
00158                 else if (strncmp (*argv,"-s",2) == 0) {
00159         msd_soap_data_generator("WHOUSE1","api2/api255@msdsrchd", "include/dbsoap.h");
00160                         
00161         }
00162         else if (strncmp (*argv,"-n",2) == 0) {
00163         msd_get_datamodel("WHOUSE1", loginstr);
00164                         
00165         }
00166                 else if (strncmp (*argv,"-m",2) == 0) {
00167         msd_load_metadata("WHOUSE1", loginstr);
00168                         
00169         }
00170                 else {
00171                         printf ("\nUnknown switch: %s", *argv);} 
00172     
00173         
00174         argv++;
00175         argc--;
00176     } 
00177    
00178     while (argc > 0){ 
00179          printf (*argv);
00180          printf ("\n");
00181          argv++;
00182          argc--;
00183         }
00184 
00185  
00186   free(un);
00187   free(pass);
00188   free(loginstr);
00189  
00190   return 0; 
00191 } 
00192 
00193 
00194  
00195 

Generated on Fri Apr 16 13:47:40 2004 for MSDAPI by doxygen 1.3.4-20031005