Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ClaimerMessage.hh
Go to the documentation of this file.
1 // -*- mode:c++;tab-width:2;indent-tabs-mode:t;show-trailing-whitespace:t;rm-trailing-spaces:t -*-
2 // vi: set ts=2 noet:
3 //
4 // (c) Copyright Rosetta Commons Member Institutions.
5 // (c) This file is part of the Rosetta software suite and is made available under license.
6 // (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
7 // (c) For more information, see http://www.rosettacommons.org. Questions about this can be
8 // (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
9 
10 /// @file TopologyBroker
11 /// @brief top-class (Organizer) of the TopologyBroker mechanism
12 /// @detailed responsibilities:
13 /// maintains list of ToplogyClaimers
14 /// maintains ClaimerMessages -- exclusive or non-exclusively markedup dofs like BackboneClaim, IntraResClaim, JumpClaim
15 /// generates FoldTree, MoveMap, and collects samplers provided by ClaimerMessages
16 /// @author Oliver Lange
17 #ifndef INCLUDED_protocols_topology_broker_ClaimerMessage_hh
18 #define INCLUDED_protocols_topology_broker_ClaimerMessage_hh
19 
20 
21 // Unit Headers
23 // AUTO-REMOVED #include <protocols/topology_broker/TopologyBroker.fwd.hh>
26 
27 // Package Headers
28 
29 // Project Headers
30 #include <core/types.hh>
31 
32 //include <core/kinematics/MoveMap.fwd.hh>
33 
34 // ObjexxFCL Headers
35 
36 // Utility headers
37 //#include <utility/io/izstream.hh>
38 //#include <utility/io/ozstream.hh>
39 //#include <utility/io/util.hh>
40 // AUTO-REMOVED #include <utility/vector1.hh>
41 //#include <basic/Tracer.hh>
42 //#include <basic/options/option.hh>
43 //#include <utility/fix_boinc_read.hh>
44 
45 //#include <basic/options/option_macros.hh>
46 
47 //// C++ headers
48 //#include <fstream>
49 #include <string>
50 #include <typeinfo>
51 
52 #include <utility/vector1_bool.hh>
53 
54 
55 
56 // option key includes
57 
58 
59 namespace protocols {
60 namespace topology_broker {
61 
62 
63 class ClaimerMessage { //: public utility::pointer::ReferenceCount {
65 public:
68  virtual ~ClaimerMessage();
69 
70  ///@brief name of Claimer
71  virtual std::string type() const {
72  return typeid( *this ).name();
73  }
74 
75  std::string const& label() const {
76  return label_;
77  }
78 
79  void set_label( std::string const& str ) {
80  label_ = str;
81  }
82 
83  bool matches( std::string const& label ) {
84  if ( label_ == "ALL" ) return true;
85  return label == label_;
86  }
87 
88  virtual void show( std::ostream& ) const {};
89 
91 
92  core::Size nr_recepients() const;
93 
94  bool received() const;
95 
96  friend std::ostream& operator << ( std::ostream& os, ClaimerMessage const& cm );
97 
98 private:
99  ///@brief a user defined string, can be used to send messages from claimer to claimer
101 
103 
104 }; //class ClaimerMessage
105 
106 
108 public:
110  virtual ~SuggestValueMessage();
111  DofClaimOP some_claim_; //e.g., a ROOT Claim
112 };
113 
114 
115 }
116 }
117 
118 #endif