00001 // Copyright (C) 2000, International Business Machines 00002 // Corporation and others. All Rights Reserved. 00003 #ifndef _BCP_PROCESS_H 00004 #define _BCP_PROCESS_H 00005 00006 class BCP_buffer; 00007 class BCP_proc_id; 00008 00009 class BCP_process { 00010 private: 00011 BCP_process(const BCP_process&); 00012 BCP_process& operator=(const BCP_process&); 00013 private: 00014 const BCP_proc_id* my_id; 00015 const BCP_proc_id* parent_id; 00016 public: 00017 BCP_process(const BCP_proc_id* self, const BCP_proc_id* parent) : 00018 my_id(self), parent_id(parent) {} 00019 virtual ~BCP_process(); 00020 virtual BCP_buffer& get_message_buffer() = 0; 00021 virtual void process_message() = 0; 00022 const BCP_proc_id* get_process_id() const { return my_id; } 00023 const BCP_proc_id* get_parent() const { return parent_id; } 00024 }; 00025 00026 #endif