InsertTrackAttachmentDelta.h

Go to the documentation of this file.
00001 
00008 /* Copyright © 2009 James Legg.
00009     This program is free software: you can redistribute it and/or modify
00010     it under the terms of the GNU General Public License as published by
00011     the Free Software Foundation, either version 3 of the License, or
00012     (at your option) any later version.
00013 */
00014 
00015 #ifndef LIBTRACK_DOCUMENT_INSERT_TRACK_ATTACHMENT_DELTA_H
00016 #define LIBTRACK_DOCUMENT_INSERT_TRACK_ATTACHMENT_DELTA_H
00017 
00018 #include "DocumentDelta.h"
00019 
00020 #include "InsertRemoveIdentifier.h"
00021 #include "InsertDelta.h"
00022 #include "RemoveDelta.h"
00023 #include "../path/PathEdge.h"
00024 #include "../TrackAttachment.h"
00025 
00026 namespace Document
00027 {
00028 
00031 class InsertRemoveTrackAttachmentIdentifier
00032     :   public InsertRemoveIdentifier<std::pair<std::size_t, std::size_t>, boost::shared_ptr<Track::TrackAttachment> >
00033 {
00034 public: 
00035     InsertRemoveTrackAttachmentIdentifier(const boost::shared_ptr<Track::TrackAttachment> & obj);
00036     InsertRemoveTrackAttachmentIdentifier(std::size_t attachment_name, std::size_t edge_name);
00037     void insert(Track::Track & track, boost::shared_ptr<Track::TrackAttachment> object) const;
00038     boost::shared_ptr<Track::TrackAttachment> remove(Track::Track & track) const;
00039 };
00040 
00043 typedef InsertDelta<InsertRemoveTrackAttachmentIdentifier, boost::shared_ptr<Track::TrackAttachment> > InsertTrackAttachmentDelta;
00044 
00047 typedef RemoveDelta<InsertRemoveTrackAttachmentIdentifier, boost::shared_ptr<Track::TrackAttachment> > RemoveTrackAttachmentDelta;
00048     
00049 
00050 } // namespace Document
00051 
00052 #endif // LIBTRACK_DOCUMENT_INSERT_TRACK_ATTACHMENT_DELTA_H

Get Racer at SourceForge.net. Fast, secure and Free Open Source software downloads

Generated at Mon Sep 6 00:41:11 2010 by Doxygen version 1.4.7 for Racer version svn335.