
00001 #ifndef _CEntry_H_ 00002 #define _CEntry_H_ 00003 00004 #include "xi-util.h" 00005 #include "sdag-globals.h" 00006 #include "CList.h" 00007 00008 namespace xi { 00009 00010 class Entry; 00011 class SdagConstruct; 00012 class ParamList; 00013 class CStateVar; 00014 00015 class CEntry{ 00016 public: 00017 XStr *entry; 00018 Entry *decl_entry; // point to the real Entry of the Chare 00019 //CParseNode *paramlist; 00020 ParamList *paramlist; 00021 int entryNum; 00022 int needsParamMarshalling; 00023 int refNumNeeded; 00024 TList<CStateVar*> *myParameters; 00025 //TList<CParseNode*> whenList; 00026 TList<SdagConstruct*> whenList; 00027 CEntry(XStr *e, ParamList *p, TList<CStateVar*>& list, int pm) : entry(e), paramlist(p), needsParamMarshalling(pm) { 00028 myParameters = new TList<CStateVar*>(); 00029 CStateVar *sv; 00030 for(sv=list.begin(); !list.end(); sv=list.next()) { 00031 myParameters->append(sv); 00032 } 00033 entryNum = numEntries++; 00034 refNumNeeded =0; 00035 decl_entry = NULL; 00036 } 00037 00038 void print(int indent) { 00039 Indent(indent); 00040 // printf("entry %s (%s *)", entry->charstar(), msgType->charstar()); 00041 } 00042 00043 void generateCode(XStr& decls, XStr& defs); 00044 void generateDeps(XStr& op); 00045 }; 00046 00047 } 00048 00049 #endif
1.5.5