#include "charm++.h"
#include "pgm.decl.h"
#include "tempo.h"

extern CkChareID mainhandle;

class IdMsg : public CMessage_IdMsg
{
  public :
    CkChareID id;
    IdMsg(CkChareID _id) : id(_id) {}
};

class UserClass : public TempoChare
{
  public :
    UserClass(void);
    void doSendRecv(void);
};

class UserGroup : public TempoGroup
{
  public :
    UserGroup(void) {}
    void doSendRecv(void);
};
 
class UserArray : public TempoArray
{
  public:
    UserArray(void) : TempoArray() {}
    UserArray(CkMigrateMessage *msg) : TempoArray(msg) {}
    void doSendRecv(void);
};

class main : public Chare
{
  IdMsg *id1, *id2;
  void sendids(void);
  public :
    main(CkArgMsg *);
    void Finish(CkQdMsg *dummy);
    void getid(IdMsg *idmsg);
};
