Adding communication library in src/ck-com and src/conv-com
[charm.git] / src / conv-com / convcomlibmanager.h
1 /* Converse ComlibManager 
2    Enables communication library strategies to be called from converse code.
3    Reused by the Charm Comlibmanager.
4    
5    Stores a strategy table. Strategies can be inserted and accessed
6    from this table.
7
8    Sameer Kumar 28/03/04.
9 */
10
11 #ifndef CONVCOMLIBMANAGER
12 #define CONVCOMLIBMANAGER
13
14 #include <converse.h>
15 #include "comlib.h"
16 #include <convcomlibstrategy.h>
17
18 class ConvComlibManager {
19
20     StrategyTable strategyTable;
21     int nstrats;
22
23  public:
24
25     ConvComlibManager();
26     void insertStrategy(Strategy *s);
27     void insertStrategy(Strategy *s, int loc);
28     Strategy * getStrategy(int loc) {return strategyTable[loc].strategy;}
29     StrategyTable *getStrategyTable() {return &strategyTable;}
30 };
31
32
33 void initComlibManager();
34 Strategy *ConvComlibGetStrategy(int loc);
35 void ConvComlibRegisterStrategy(Strategy *s);
36
37 #endif