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[]); 00063 //-------------------------------------------------------------------------- 00071 00072 virtual BCP_tm_user * tm_init(BCP_tm_prob& p, 00073 const int argnum, 00074 const char * const * arglist) { 00075 throw BCP_fatal_error("USER_initialize::tm_init() missing.\n"); 00076 return 0; // to satisfy aCC on HP-UX 00077 } 00079 virtual BCP_lp_user * lp_init(BCP_lp_prob& p) { 00080 throw BCP_fatal_error("USER_initialize::lp_init() missing.\n"); 00081 return 0; // to satisfy aCC on HP-UX 00082 } 00084 virtual BCP_vg_user * vg_init(BCP_vg_prob& p) { 00085 throw BCP_fatal_error("USER_initialize::vg_init() missing.\n"); 00086 return 0; // to satisfy aCC on HP-UX 00087 } 00089 virtual BCP_cg_user * cg_init(BCP_cg_prob& p) { 00090 throw BCP_fatal_error("USER_initialize::cg_init() missing.\n"); 00091 return 0; // to satisfy aCC on HP-UX 00092 } 00094 virtual BCP_vp_user * vp_init(BCP_vp_prob& p) { 00095 throw BCP_fatal_error("USER_initialize::vp_init() missing.\n"); 00096 return 0; // to satisfy aCC on HP-UX 00097 } 00099 virtual BCP_cp_user * cp_init(BCP_cp_prob& p) { 00100 throw BCP_fatal_error("USER_initialize::cp_init() missing.\n"); 00101 return 0; // to satisfy aCC on HP-UX 00102 } 00104 }; 00105 00106 //############################################################################# 00107 00114 int bcp_main(int argc, char* argv[], USER_initialize* user_init); 00115 00116 #endif