10 #ifndef PVSTRUCTURECOPY_H 11 #define PVSTRUCTURECOPY_H 21 namespace epics {
namespace pvCopy{
50 typedef std::tr1::shared_ptr<PVCopy>
PVCopyPtr;
66 public std::tr1::enable_shared_from_this<PVCopy>
77 static PVCopyPtr create(
80 std::string
const & structureName);
82 virtual void destroy();
93 void traverseMaster(PVCopyTraverseMasterCallbackPtr
const &
callback);
115 std::size_t getCopyOffset(
140 bool updateCopySetBitSet(
150 bool updateCopyFromBitSet(
177 PVCopyPtr getPtrSelf()
179 return shared_from_this();
184 CopyNodePtr headNode;
189 CopyNodePtr
const &node,
190 PVCopyTraverseMasterCallbackPtr
const & callback);
191 void updateCopySetBitSet(
195 void updateCopySetBitSet(
197 CopyNodePtr
const &node,
199 void updateCopyFromBitSet(
201 CopyNodePtr
const &node,
203 void updateMasterField(
204 CopyNodePtr
const & node,
208 void updateMasterCheckBitSet(
212 CopyNodePtr getCopyNode(std::size_t fieldOffset);
219 CopyNodePtr createStructureNodes(
224 CopyNodePtr
const & node,
227 void traverseMasterInitPlugin();
228 void traverseMasterInitPlugin(CopyNodePtr
const & node);
230 CopyNodePtr getCopyOffset(
231 CopyStructureNodePtr
const &structureNode,
236 void setIgnore(CopyNodePtr
const & node);
237 CopyNodePtr getMasterNode(
238 CopyStructureNodePtr
const &structureNode,
239 std::size_t structureOffset);
241 std::string *builder,
242 CopyNodePtr
const &node,
std::tr1::shared_ptr< CopyStructureNode > CopyStructureNodePtr
std::tr1::shared_ptr< CopyNode > CopyNodePtr
std::tr1::shared_ptr< PVCopy > PVCopyPtr
TODO only here because of the Lockable.
std::tr1::shared_ptr< const Structure > StructureConstPtr
Mark external symbols and entry points for shared libraries.
Support for subset of fields in a pvStructure.
std::tr1::shared_ptr< PVCopyTraverseMasterCallback > PVCopyTraverseMasterCallbackPtr
#define POINTER_DEFINITIONS(clazz)
virtual ~PVCopyTraverseMasterCallback()
Callback for traversing master structure.
std::tr1::shared_ptr< PVStructure > PVStructurePtr
std::tr1::shared_ptr< PVField > PVFieldPtr
std::tr1::shared_ptr< BitSet > BitSetPtr