source: tradir/charm/Hello.def.h @ 177

Last change on this file since 177 was 177, checked in by (none), 14 years ago
File size: 4.2 KB
Line 
1/* DEFS: readonly CProxy_HelloMain mainProxy;
2 */
3extern CProxy_HelloMain mainProxy;
4#ifndef CK_TEMPLATES_ONLY
5extern "C" void __xlater_roPup_mainProxy(void *_impl_pup_er) {
6  PUP::er &_impl_p=*(PUP::er *)_impl_pup_er;
7  _impl_p|mainProxy;
8}
9#endif
10
11/* DEFS: mainchare HelloMain: Chare{
12HelloMain(CkArgMsg* impl_msg);
13void PrintDone(void);
14};
15 */
16#ifndef CK_TEMPLATES_ONLY
17 int CkIndex_HelloMain::__idx=0;
18#endif
19#ifndef CK_TEMPLATES_ONLY
20/* DEFS: HelloMain(CkArgMsg* impl_msg);
21 */
22CkChareID CProxy_HelloMain::ckNew(CkArgMsg* impl_msg, int impl_onPE)
23{
24  CkChareID impl_ret;
25  CkCreateChare(CkIndex_HelloMain::__idx, CkIndex_HelloMain::__idx_HelloMain_CkArgMsg, impl_msg, &impl_ret, impl_onPE);
26  return impl_ret;
27}
28void CProxy_HelloMain::ckNew(CkArgMsg* impl_msg, CkChareID* pcid, int impl_onPE)
29{
30  CkCreateChare(CkIndex_HelloMain::__idx, CkIndex_HelloMain::__idx_HelloMain_CkArgMsg, impl_msg, pcid, impl_onPE);
31}
32  CProxy_HelloMain::CProxy_HelloMain(CkArgMsg* impl_msg, int impl_onPE)
33{
34  CkChareID impl_ret;
35  CkCreateChare(CkIndex_HelloMain::__idx, CkIndex_HelloMain::__idx_HelloMain_CkArgMsg, impl_msg, &impl_ret, impl_onPE);
36  ckSetChareID(impl_ret);
37}
38 int CkIndex_HelloMain::__idx_HelloMain_CkArgMsg=0;
39void CkIndex_HelloMain::_call_HelloMain_CkArgMsg(void* impl_msg,HelloMain * impl_obj)
40{
41  new (impl_obj) HelloMain((CkArgMsg*)impl_msg);
42}
43
44/* DEFS: void PrintDone(void);
45 */
46void CProxy_HelloMain::PrintDone(void)
47{
48  ckCheck();
49  void *impl_msg = CkAllocSysMsg();
50  if (ckIsDelegated()) {
51    int destPE=CkChareMsgPrep(CkIndex_HelloMain::__idx_PrintDone_void, impl_msg, &ckGetChareID());
52    if (destPE!=-1) ckDelegatedTo()->ChareSend(ckDelegatedPtr(),CkIndex_HelloMain::__idx_PrintDone_void, impl_msg, &ckGetChareID(),destPE);
53  }
54  else CkSendMsg(CkIndex_HelloMain::__idx_PrintDone_void, impl_msg, &ckGetChareID(),0);
55}
56 int CkIndex_HelloMain::__idx_PrintDone_void=0;
57void CkIndex_HelloMain::_call_PrintDone_void(void* impl_msg,HelloMain * impl_obj)
58{
59  CkFreeSysMsg(impl_msg);
60  impl_obj->PrintDone();
61}
62
63#endif /*CK_TEMPLATES_ONLY*/
64#ifndef CK_TEMPLATES_ONLY
65void CkIndex_HelloMain::__register(const char *s, size_t size) {
66  __idx = CkRegisterChare(s, size, TypeMainChare);
67  CkRegisterBase(__idx, CkIndex_Chare::__idx);
68// REG: HelloMain(CkArgMsg* impl_msg);
69  __idx_HelloMain_CkArgMsg = CkRegisterEp("HelloMain(CkArgMsg* impl_msg)",
70     (CkCallFnPtr)_call_HelloMain_CkArgMsg, CMessage_CkArgMsg::__idx, __idx, 0);
71  CkRegisterMainChare(__idx, __idx_HelloMain_CkArgMsg);
72
73// REG: void PrintDone(void);
74  __idx_PrintDone_void = CkRegisterEp("PrintDone(void)",
75     (CkCallFnPtr)_call_PrintDone_void, 0, __idx, 0);
76
77}
78#endif
79
80/* DEFS: group HelloGroup: IrrGroup{
81HelloGroup(void);
82};
83 */
84#ifndef CK_TEMPLATES_ONLY
85 int CkIndex_HelloGroup::__idx=0;
86#endif
87#ifndef CK_TEMPLATES_ONLY
88/* DEFS: HelloGroup(void);
89 */
90
91/* DEFS: HelloGroup(void);
92 */
93CkGroupID CProxy_HelloGroup::ckNew(void)
94{
95  void *impl_msg = CkAllocSysMsg();
96  return CkCreateGroup(CkIndex_HelloGroup::__idx, CkIndex_HelloGroup::__idx_HelloGroup_void, impl_msg);
97}
98 int CkIndex_HelloGroup::__idx_HelloGroup_void=0;
99void CkIndex_HelloGroup::_call_HelloGroup_void(void* impl_msg,HelloGroup * impl_obj)
100{
101  CkFreeSysMsg(impl_msg);
102  new (impl_obj) HelloGroup();
103}
104
105/* DEFS: HelloGroup(void);
106 */
107
108#endif /*CK_TEMPLATES_ONLY*/
109#ifndef CK_TEMPLATES_ONLY
110void CkIndex_HelloGroup::__register(const char *s, size_t size) {
111  __idx = CkRegisterChare(s, size, TypeGroup);
112  CkRegisterBase(__idx, CkIndex_IrrGroup::__idx);
113   CkRegisterGroupIrr(__idx,HelloGroup::isIrreducible());
114// REG: HelloGroup(void);
115  __idx_HelloGroup_void = CkRegisterEp("HelloGroup(void)",
116     (CkCallFnPtr)_call_HelloGroup_void, 0, __idx, 0);
117  CkRegisterDefaultCtor(__idx, __idx_HelloGroup_void);
118
119}
120#endif
121
122#ifndef CK_TEMPLATES_ONLY
123void _registerHello(void)
124{
125  static int _done = 0; if(_done) return; _done = 1;
126  CkRegisterReadonly("mainProxy","CProxy_HelloMain",sizeof(mainProxy),(void *) &mainProxy,__xlater_roPup_mainProxy);
127
128/* REG: mainchare HelloMain: Chare{
129HelloMain(CkArgMsg* impl_msg);
130void PrintDone(void);
131};
132*/
133  CkIndex_HelloMain::__register("HelloMain", sizeof(HelloMain));
134
135/* REG: group HelloGroup: IrrGroup{
136HelloGroup(void);
137};
138*/
139  CkIndex_HelloGroup::__register("HelloGroup", sizeof(HelloGroup));
140
141}
142extern "C" void CkRegisterMainModule(void) {
143  _registerHello();
144}
145#endif
Note: See TracBrowser for help on using the repository browser.