// Called by the DataStream when new data is available. public void UpdateData(AppSpecificationDescriptor description) { // if the existing description is not null, make it null if (null != _description) { _description = null; } // set the description to this new value _description = description; // Now make sure that the current selectionX/Y are valid for this page. ChannelBox current = _description.Nearest(_selectionX, _selectionY); if (current != null) { _selectionX = current.Column; _selectionY = current.Row; } // we got data from the receiver. Make ourselves visible if (!_overlaySurface.Visible) { _overlaySurface.Visible = true; } UpdateDisplayAndAudio(); }
// Receive settings for the app. public void ReceiveAppData(int iRowCount, int iColCount, int iVideoWidth, int iVideoHeight, int iCellWidth, int iCellHeight) { if (null == _description) { _description = new AppSpecificationDescriptor(iRowCount, iColCount, iVideoWidth, iVideoHeight, iCellWidth, iCellHeight); _iNumberOfCells = iRowCount * iColCount; } }
// Initilize method to uninitialize the members public void Uninitialize() { _description = null; // delete the overlaySurface. if (null != _overlaySurface) { _overlaySurface.Visible = false; _overlaySurface.Free(); _overlaySurface = null; } if (null != _videoSurface) { _videoSurface = null; } // remove the Tuning object if (null != _tuning) { _tuning = null; } // remove the event handler object if (null != _eventHandler) { _eventHandler.UnInitialize(); _eventHandler = null; } // delete the session object if (null != _session) { _session = null; } // delete the AudioStreamSwitcher if (null != _audioStreamSwitcher) { _audioStreamSwitcher.Uninitialize(); _audioStreamSwitcher = null; } }
// Constructor internal DataProcessor(ItvApp.AddIn app, UserInterface userInterface) { _addin = app; _userInterface = userInterface; _description = null; }