Rosetta 3.5
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
src
protocols
boinc
BoincPoseObserver.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 protocols/boinc/BoincPoseObserver.hh
11
/// @brief BoincPoseObserver class
12
/// @author Will Sheffler, David E Kim
13
14
15
#ifndef INCLUDED_protocols_boinc_BoincPoseObserver_hh
16
#define INCLUDED_protocols_boinc_BoincPoseObserver_hh
17
18
19
// Unit headers
20
#include <
protocols/boinc/BoincPoseObserver.fwd.hh
>
21
22
#include <
protocols/boinc/boinc_shmem.hh
>
23
24
#include <
core/pose/Pose.fwd.hh
>
25
#include <
core/pose/signals/ConformationEvent.fwd.hh
>
26
27
#include <utility/signals/Link.hh>
28
29
// C++ Headers
30
31
32
namespace
protocols {
33
namespace
boinc {
34
35
// base class
36
class
BoincCurrentPoseObserver
:
public
utility::pointer::ReferenceCount
{
37
38
public
:
// typedefs
39
40
typedef
core::pose::Pose
Pose
;
41
typedef
core::pose::signals::ConformationEvent
ConformationEvent
;
42
43
public
:
44
45
/// @brief default constructor
46
BoincCurrentPoseObserver
();
47
48
/// @brief default destructor
49
~BoincCurrentPoseObserver
();
50
51
private
:
// disallow copy
52
53
/// @brief disallow copy constructor
54
// NOTE: if implementing copy constructor, do not copy the 'conf_event_link_'
55
// as there is no transferal of subject Pose on copy construct
56
BoincCurrentPoseObserver
(
BoincCurrentPoseObserver
const
& rval );
57
58
/// @brief disallow copy assignment
59
// NOTE: if ConformationViewer copy assignment, remember to leave 'conf_event_link_'
60
// untouched as any current subject Pose is kept on copy assign
61
BoincCurrentPoseObserver
&
operator =
(
BoincCurrentPoseObserver
const
& rval );
62
63
public
:
64
65
/// @brief attach to Pose
66
void
67
attach_to
(
Pose
& pose );
68
69
/// @brief detach from Pose
70
void
71
detach_from
();
72
73
/// @brief on receiving ConformationEvent, copy Pose to boinc shared memory
74
void
75
on_conf_change
(
ConformationEvent
const
& event );
76
77
private
:
78
79
BoincSharedMemory
*
shmem_
;
80
81
utility::signals::Link
conf_event_link_
;
82
83
};
84
85
}
// namespace boinc
86
}
// namespace protocols
87
88
89
#endif // INCLUDED_protocols_boinc_BoincPoseObserver_HH
Generated on Sat Jun 1 2013 11:43:28 for Rosetta 3.5 by
1.8.4