00001 // Copyright (C) 2000, International Business Machines 00002 // Corporation and others. All Rights Reserved. 00003 #ifndef _BCP_USER_H 00004 #define _BCP_USER_H 00005 00006 // This file is prepared for doxygen. 00007 00008 #include "BCP_error.hpp" 00009 #include "BCP_message_single.hpp" 00010 00011 class BCP_buffer; 00012 00013 //############################################################################# 00014 00015 class BCP_user_data { 00016 public: 00017 virtual ~BCP_user_data() {} 00018 }; 00019 00020 //############################################################################# 00021 00022 class BCP_tm_user; 00023 class BCP_lp_user; 00024 class BCP_vg_user; 00025 class BCP_cg_user; 00026 class BCP_vp_user; 00027 class BCP_cp_user; 00028 00029 class BCP_tm_prob; 00030 class BCP_lp_prob; 00031 class BCP_vg_prob; 00032 class BCP_cg_prob; 00033 class BCP_vp_prob; 00034 class BCP_cp_prob; 00035 00036 class BCP_proc_id; 00037 class BCP_message_environment; 00038 00045 class USER_initialize { 00046 public: 00050 virtual ~USER_initialize() {} 00053 //-------------------------------------------------------------------------- 00060 virtual BCP_message_environment * msgenv_init(int argc, char* argv[]) { 00061 return new BCP_single_environment; 00062 } 00065 //-------------------------------------------------------------------------- 00073 00074 virtual BCP_tm_user * tm_init(BCP_tm_prob& p, 00075 const int argnum, 00076 const char * const * arglist) { 00077 throw BCP_fatal_error("USER_initialize::tm_init() missing.\n"); 00078 return 0; // to satisfy aCC on HP-UX 00079 } 00081 virtual BCP_lp_user * lp_init(BCP_lp_prob& p) { 00082 throw BCP_fatal_error("USER_initialize::lp_init() missing.\n"); 00083 return 0; // to satisfy aCC on HP-UX 00084 } 00086 virtual BCP_vg_user * vg_init(BCP_vg_prob& p) { 00087 throw BCP_fatal_error("USER_initialize::vg_init() missing.\n"); 00088 return 0; // to satisfy aCC on HP-UX 00089 } 00091 virtual BCP_cg_user * cg_init(BCP_cg_prob& p) { 00092 throw BCP_fatal_error("USER_initialize::cg_init() missing.\n"); 00093 return 0; // to satisfy aCC on HP-UX 00094 } 00096 virtual BCP_vp_user * vp_init(BCP_vp_prob& p) { 00097 throw BCP_fatal_error("USER_initialize::vp_init() missing.\n"); 00098 return 0; // to satisfy aCC on HP-UX 00099 } 00101 virtual BCP_cp_user * cp_init(BCP_cp_prob& p) { 00102 throw BCP_fatal_error("USER_initialize::cp_init() missing.\n"); 00103 return 0; // to satisfy aCC on HP-UX 00104 } 00106 }; 00107 00108 //############################################################################# 00109 00116 int bcp_main(int argc, char* argv[], USER_initialize* user_init); 00117 00118 #endif