1 /* ------------------------------------------------------------------ 2 * Copyright (C) 1998-2009 PacketVideo 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 13 * express or implied. 14 * See the License for the specific language governing permissions 15 * and limitations under the License. 16 * ------------------------------------------------------------------- 17 */ 18 // ---------------------------------------------------------------------- 19 // 20 // This Software is an original work of authorship of PacketVideo Corporation. 21 // Portions of the Software were developed in collaboration with NTT DoCoMo, 22 // Inc. or were derived from the public domain or materials licensed from 23 // third parties. Title and ownership, including all intellectual property 24 // rights in and to the Software shall remain with PacketVideo Corporation 25 // and NTT DoCoMo, Inc. 26 // 27 // ----------------------------------------------------------------------- 28 /*****************************************************************************/ 29 /* file name : tsc_statemanager.h */ 30 /* file contents : */ 31 /* draw : '96.10.09 */ 32 /*---------------------------------------------------------------------------*/ 33 /* amendment */ 34 /* Copyright (C) 1996 NTT DoCoMo */ 35 /*****************************************************************************/ 36 37 #ifndef TSCSTATEMANAGER_H_INCLUDED 38 #define TSCSTATEMANAGER_H_INCLUDED 39 40 41 #ifndef PVLOGGER_H_INCLUDED 42 #include "pvlogger.h" 43 #endif 44 45 #include "h245.h" 46 #include "h324utils.h" 47 #include "tsc_constants.h" 48 49 class TSC_statemanager 50 { 51 public: ~TSC_statemanager()52 ~TSC_statemanager() {}; 53 54 void InitVarsSession(); 55 void InitVarsLocal(); 56 TPVStatusCode SetTerminalParam(CPVTerminalParam* params); 57 // State Manager 58 void StateInitialize(void); 59 int32 ReadState(uint32 stateIndex); 60 void WriteState(uint32 stateIndex, uint32 value); 61 void StatusShow(uint32 stateIndex, uint32 value); 62 void IncrementState(uint32 stateIndex); 63 void DecrementState(uint32 stateIndex); 64 uint32 PreReq_CeSend(void); 65 uint32 PreReq_MsdSend(void); 66 uint32 PreReq_MtSend(void); 67 bool PreReq_LcMediaSend(); 68 void SkipMsd(); 69 bool MSDStart(TPVLoopbackMode iLoopbackMode); 70 void MSDDetermineIndication(MSDStatus type); 71 72 73 SetN100(uint32 aN100)74 void SetN100(uint32 aN100) 75 { 76 iN100 = aN100; 77 } 78 79 private: 80 // State Manager 81 // Array of state values and priority levels 82 int32 iTerminalState[MAX_TSC_STATES]; 83 84 unsigned iSkipMsd; // Skip msd 85 PVLogger *iLogger; 86 uint32 iN100; // H245 87 88 }; 89 90 #endif 91 92