1117395Skan/////////////////////////////////////////////////////////////////////////// 2132718Skan// 3169689Skan// Copyright (c) 2004, Industrial Light & Magic, a division of Lucas 418334Speter// Digital Ltd. LLC 5132718Skan// 618334Speter// All rights reserved. 7117395Skan// 818334Speter// Redistribution and use in source and binary forms, with or without 9117395Skan// modification, are permitted provided that the following conditions are 10117395Skan// met: 11117395Skan// * Redistributions of source code must retain the above copyright 12117395Skan// notice, this list of conditions and the following disclaimer. 1318334Speter// * Redistributions in binary form must reproduce the above 14117395Skan// copyright notice, this list of conditions and the following disclaimer 15117395Skan// in the documentation and/or other materials provided with the 16117395Skan// distribution. 17117395Skan// * Neither the name of Industrial Light & Magic nor the names of 1818334Speter// its contributors may be used to endorse or promote products derived 19117395Skan// from this software without specific prior written permission. 20117395Skan// 21169689Skan// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22169689Skan// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 2318334Speter// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 2418334Speter// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 2550397Sobrien// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26132718Skan// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27132718Skan// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 2818334Speter// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 2950397Sobrien// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30117395Skan// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 3190075Sobrien// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32169689Skan// 3318334Speter/////////////////////////////////////////////////////////////////////////// 34117395Skan 35132718Skan 36117395Skan//----------------------------------------------------------------------------- 3718334Speter// 38117395Skan// class KeyCodeAttribute 3918334Speter// 40117395Skan//----------------------------------------------------------------------------- 4118334Speter 42117395Skan#include <ImfKeyCodeAttribute.h> 43117395Skan 44117395Skannamespace Imf { 45117395Skan 46117395Skan 47117395Skantemplate <> 4818334Speterconst char * 49117395SkanKeyCodeAttribute::staticTypeName () 50117395Skan{ 51117395Skan return "keycode"; 5218334Speter} 53132718Skan 54132718Skan 55132718Skantemplate <> 56132718Skanvoid 57132718SkanKeyCodeAttribute::writeValueTo (OStream &os, int version) const 5818334Speter{ 59117395Skan Xdr::write <StreamIO> (os, _value.filmMfcCode()); 60117395Skan Xdr::write <StreamIO> (os, _value.filmType()); 61132718Skan Xdr::write <StreamIO> (os, _value.prefix()); 6218334Speter Xdr::write <StreamIO> (os, _value.count()); 63132718Skan Xdr::write <StreamIO> (os, _value.perfOffset()); 64132718Skan Xdr::write <StreamIO> (os, _value.perfsPerFrame()); 65117395Skan Xdr::write <StreamIO> (os, _value.perfsPerCount()); 66117395Skan} 67132718Skan 68117395Skan 6918334Spetertemplate <> 70117395Skanvoid 71117395SkanKeyCodeAttribute::readValueFrom (IStream &is, int size, int version) 72117395Skan{ 73117395Skan int tmp; 7418334Speter 7550397Sobrien Xdr::read <StreamIO> (is, tmp); 76117395Skan _value.setFilmMfcCode (tmp); 77117395Skan 7818334Speter Xdr::read <StreamIO> (is, tmp); 79117395Skan _value.setFilmType (tmp); 80117395Skan 81117395Skan Xdr::read <StreamIO> (is, tmp); 8218334Speter _value.setPrefix (tmp); 83132718Skan 84132718Skan Xdr::read <StreamIO> (is, tmp); 85132718Skan _value.setCount (tmp); 86132718Skan 87132718Skan Xdr::read <StreamIO> (is, tmp); 88132718Skan _value.setPerfOffset (tmp); 89132718Skan 90132718Skan Xdr::read <StreamIO> (is, tmp); 91132718Skan _value.setPerfsPerFrame (tmp); 92132718Skan 93132718Skan Xdr::read <StreamIO> (is, tmp); 94132718Skan _value.setPerfsPerCount (tmp); 95132718Skan} 96132718Skan 97132718Skan 98132718Skan} // namespace Imf 99132718Skan