00001 00011 #ifndef WIRINGMETHODSELECTOR_H 00012 #define WIRINGMETHODSELECTOR_H 00013 00014 #include "OneToOneWiringMethod.h" 00015 #include "SimpleAllToAllWiringMethod.h" 00016 #include "DistributedSyncWiringMethod.h" 00017 00019 class WiringMethodSelector { 00020 00021 public: 00023 WiringMethodSelector(SimNetwork *net) 00024 : one_to_one(net), simple_all_to_all(net), distributed_sync(net) 00025 { 00026 /* NOOP */ 00027 }; 00028 00030 WiringMethod & oneToOne() { 00031 return one_to_one; 00032 } 00033 00035 WiringMethod & simpleAllToAll() { 00036 return simple_all_to_all; 00037 } 00038 00040 WiringMethod & distributedAllToAll() { 00041 return distributed_sync; 00042 } 00043 00044 protected: 00045 OneToOneWiringMethod one_to_one; 00046 SimpleAllToAllWiringMethod simple_all_to_all; 00047 DistributedSyncWiringMethod distributed_sync; 00048 }; 00049 00050 #endif