#pragma once #include #include #include #include #include #include //LTS namespace Mist { enum negotiationState { FILL_NEW,///< New track, just sent negotiation request FILL_NEG,///< Negotiating this track, written metadata FILL_DEC,///< Declined Track FILL_ACC///< Accepted Track }; struct DTSCPageData { DTSCPageData() : pageNum(0), keyNum(0), partNum(0), dataSize(0), curOffset(0), firstTime(0), lastKeyTime(-5000){} unsigned long pageNum;///The current page number unsigned long keyNum;/// selectedTracks;///< Stores the track id's that are either selected for playback or input std::map > pagesByTrack;/// trackOffset; ///< Offset of data on user page std::map trackState; ///< State of the negotiation for tracks std::map trackMap;/// metaPages;///< For each track, holds the page that describes which dataPages are mapped std::map curPageNum;///< For each track, holds the number page that is currently being written. std::map curPage;///< For each track, holds the page that is currently being written. std::map > trackBuffer; ///< Buffer to be used during active track negotiation bool encrypt; Encryption::verimatrixData vmData; std::map iVecs; IPC::sharedPage encryptionPage; }; }