PaCO++  0.05
PaCO++_src.h
Go to the documentation of this file.
1 #ifndef PACO_PLUSPLUS_SRC_H_IS_DEFINED
2 #define PACO_PLUSPLUS_SRC_H_IS_DEFINED
3 
4 #include <PaCO++.h>
5 #include <vector>
6 #include <string>
7 #include <iostream>
8 
9 #include <FabriqueManager.h>
10 
11 using namespace std;
12 
13 void* paco_orb_run(void* arg);
14 
16 
17 class InterfaceManager_impl: virtual public POA_PaCO::InterfaceManager
18 {
19 public:
20  // Constructors
21  InterfaceManager_impl(CORBA::ORB_ptr current_orb);
22  virtual ~InterfaceManager_impl();
23 
24  // Methods of InterfaceManager
25  virtual void setConnectionInfos();
26  virtual void setTotalNode(CORBA::Short totalNode);
27  virtual void setTopo(const PaCO::PacoTopology_t& topo);
28  virtual void setNewNode(const char * node, const CORBA::Short rank);
29  virtual void setWorkNode(CORBA::Short totalNode);
30  virtual void setReturn(const char * ref);
31  virtual char * getReturn();
32  virtual void return_ok(const CORBA::Short client_id);
33 
34  // Permet aux noeuds d'un client d'avoir le meme client_id !
35  virtual CORBA::Short getClientId() = 0;
36 
37  // Methods of ParallelKernel
38  virtual PaCO::ConnectionInfos* getConnectionInfos();
39  // Method to generate to update context when the manager is configured
40  virtual void updateContexts() = 0;
41 
42  void setReturn(int rtn);
43  virtual void finish() = 0;
44 
45 protected:
46  CORBA::ORB_ptr _orb;
47  PaCO::ConnectionInfos::_nodes_seq _nodes;
48  CORBA::Short _current_uid;
49  CORBA::Short _totalNode;
50  CORBA::Short _totalNodeReceived;
51  CORBA::Short _workNode;
55  string return_str;
56  int _rtn; // To known if the interface manager is a
57  // return interface manager
58 };
59 
60 class InterfaceParallel_impl: virtual public POA_PaCO::InterfaceParallel
61 {
62 public:
63  // Constructors
64  InterfaceParallel_impl(CORBA::ORB_ptr current_orb, char * ior);
65  virtual ~InterfaceParallel_impl();
66 
67  // Methods of InterfaceParallel
68  CORBA::Short getMyRank();
69  CORBA::Short getTotalNode();
70  CORBA::Short getDeployRank();
71  void init_InterfaceParallel(CORBA::Short myRank, CORBA::Short totalNode);
72  void deploy(CORBA::Short rank);
73  // Methods of ParallelKernel
74  virtual PaCO::ConnectionInfos* getConnectionInfos();
75  // Return object
76  void refReturnObject(const char * ref);
77 
78  // EXCEPTION !
79  virtual void setRef(const PaCO::InterfaceParallel::ref & ref_nodes);
80  // Actually implemented by the PaCO++ generated layer
81  virtual void addException(const CORBA::Short except) {}
82 
84 
85 protected:
86  CORBA::ORB_ptr _orb;
87  string return_object;
88 
89 private:
90  CORBA::Short _deployRank;
91  CORBA::Short _myRank;
92  CORBA::Short _totalNode;
93  string _ior;
94 
95 
96 };
97 
98 #endif
PaCO::PacoTopology_t serveur_topo
Definition: PaCO++_src.h:54
CORBA::ORB_ptr _orb
Definition: PaCO++_src.h:46
CORBA::Short _totalNodeReceived
Definition: PaCO++_src.h:50
sequence< string > ref
Definition: PaCO++.idl:97
PaCO::ConnectionInfos _informations_temp
Definition: PaCO++_src.h:53
paco_fabrique_manager * paco_getFabriqueManager()
Definition: PaCO++_src.cc:28
CORBA::Short _totalNode
Definition: PaCO++_src.h:49
CORBA::Short _current_uid
Definition: PaCO++_src.h:48
PaCO::ConnectionInfos _informations
Definition: PaCO++_src.h:52
PaCO::InterfaceParallel::ref _ref_nodes
Definition: PaCO++_src.h:83
CORBA::ORB_ptr _orb
Definition: PaCO++_src.h:86
virtual void addException(const CORBA::Short except)
Definition: PaCO++_src.h:81
CORBA::Short _myRank
Definition: PaCO++_src.h:91
CORBA::Short _workNode
Definition: PaCO++_src.h:51
void * paco_orb_run(void *arg)
Definition: PaCO++_src.cc:21
PaCO::ConnectionInfos::_nodes_seq _nodes
Definition: PaCO++_src.h:47
CORBA::Short _totalNode
Definition: PaCO++_src.h:92
CORBA::Short _deployRank
Definition: PaCO++_src.h:90