00001 // sampalib.org ESL library and tools 00002 // Copyright (C) 2007 Thierry Grellier 00003 // 00004 // This program is free software; you can redistribute it and/or modify 00005 // it under the terms of the GNU General Public License version 2 as 00006 // published by the Free Software Foundation. 00007 // 00008 // This program is distributed in the hope that it will be useful, 00009 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00010 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00011 // GNU General Public License for more details. 00012 // 00013 // You should have received a copy of the GNU General Public License along 00014 // with this program; if not, write to the Free Software Foundation, Inc., 00015 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 00016 // 00017 // contact: www.sampalib.org 00018 00019 #ifndef _SAMPA_COMPONENT_CACHE_H_ 00020 #define _SAMPA_COMPONENT_CACHE_H_ 00021 00022 #include "sampa/core/module.h" 00023 00024 class Cache : public Module { 00025 public: 00026 Cache(const Name&); 00027 00028 void bind_inst_initiator(Initiator*); 00029 void bind_data_initiator(Initiator*); 00030 Target* get_inst_target(); 00031 Target* get_data_target(); 00032 00033 void bind_inst_target(Target*); 00034 void bind_data_target(Target*); 00035 Initiator* get_inst_initiator(); 00036 Initiator* get_data_initiator(); 00037 00038 private: 00039 void get_(); 00040 00041 Target p_inst; 00042 Target p_data; 00043 Initiator p_inst; 00044 Initiator p_data; 00045 }; 00046 00047 #endif 00048
1.5.3