// Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. #pragma once namespace CalculatorApp { // Callback interface to be implemented by the CalculatorManager class CalculatorDisplay: public ICalcDisplay { public: CalculatorDisplay(); void SetCallback(Platform::WeakReference callbackReference); void SetHistoryCallback(Platform::WeakReference callbackReference); private: void SetPrimaryDisplay(_In_ const std::wstring& displayString, _In_ bool isError) override; void SetIsInError(bool isError) override; void SetExpressionDisplay(_Inout_ std::shared_ptr>> const &tokens, _Inout_ std::shared_ptr>> const &commands) override; void SetMemorizedNumbers(_In_ const std::vector& memorizedNumbers) override; void OnHistoryItemAdded(_In_ unsigned int addedItemIndex) override; void SetParenDisplayText(_In_ const std::wstring& parenthesisCount) override; void MaxDigitsReached() override; void BinaryOperatorReceived() override; void MemoryItemChanged(unsigned int indexOfMemory) override; private: Platform::WeakReference m_callbackReference; Platform::WeakReference m_historyCallbackReference; }; }