00001 // Copyright (C) 2005, International Business Machines 00002 // Corporation and others. All Rights Reserved. 00003 #ifndef _CSP_INIT_H 00004 #define _CSP_INIT_H 00005 00006 #include "BCP_USER.hpp" 00007 00008 class CSP_packer : public BCP_user_pack { 00010 virtual void pack_var_algo(const BCP_var_algo* var, BCP_buffer& buf); 00011 00013 virtual BCP_var_algo* unpack_var_algo(BCP_buffer& buf); 00014 00016 // *LL* : needs to be written when we start to add cuts. Not for now. 00017 virtual void pack_cut_algo(const BCP_cut_algo* cut, BCP_buffer& buf) { 00018 BCP_user_pack::pack_cut_algo(cut, buf); 00019 } 00020 00022 // *LL* : needs to be written when we start to add cuts. Not for now. 00023 virtual BCP_cut_algo* unpack_cut_algo(BCP_buffer& buf) { 00024 return BCP_user_pack::unpack_cut_algo(buf); 00025 } 00026 }; 00027 00028 class CSP_initialize : public USER_initialize { 00029 // Declare this function if not the default single process communication is 00030 // wanted 00031 // BCP_message_environment * msgenv_init(); 00032 BCP_user_pack* packer_init(BCP_user_class* p); 00033 BCP_tm_user * tm_init(BCP_tm_prob& p, 00034 const int argnum, const char * const * arglist); 00035 BCP_lp_user * lp_init(BCP_lp_prob& p); 00036 }; 00037 00038 #endif