*/
#include <config.h>
+
#include "ButtonPolicies.h"
#include "debug.h"
-// These shenanigans needed or DEC c++ complains that expression must
-// be an lvalue
-static const int sum_ = ( PreferencesPolicy::OKAY |
- PreferencesPolicy::APPLY |
- PreferencesPolicy::CANCEL |
- PreferencesPolicy::UNDO_ALL );
-static const PreferencesPolicy::State bogus_ = PreferencesPolicy::BOGUS;
-// Helper function
-inline void nextState(ButtonPolicy::State & state,
+/// Helper function
+static inline
+void nextState(ButtonPolicy::State & state,
ButtonPolicy::SMInput in,
- ButtonPolicy::StateMachine s_m,
+ ButtonPolicy::StateMachine const & s_m,
char const * function_name = "nextState")
{
ButtonPolicy::State tmp = s_m[state][in];
PreferencesPolicy::PreferencesPolicy()
: state_(INITIAL),
- outputs_(APPLIED+1,
- static_cast<int const &>( sum_ )),
- state_machine_(APPLIED+1,
- StateArray(SMI_TOTAL,
- static_cast<State const &>( bogus_ )))
+ outputs_(APPLIED + 1, ButtonPolicy::ALL_BUTTONS),
+ state_machine_(APPLIED + 1,
+ StateArray(SMI_TOTAL, ButtonPolicy::BOGUS))
{
// Build the state output map
outputs_[INITIAL] = CLOSE;
OkCancelPolicy::OkCancelPolicy()
: state_(INITIAL),
- outputs_(INVALID+1,
- static_cast<int const &>( sum_ )),
- state_machine_(INVALID+1,
- StateArray(SMI_TOTAL,
- static_cast<State const &>( bogus_ )))
+ outputs_(INVALID + 1, ButtonPolicy::ALL_BUTTONS),
+ state_machine_(INVALID + 1,
+ StateArray(SMI_TOTAL, ButtonPolicy::BOGUS))
{
// Build the state output map
outputs_[INITIAL] = CLOSE;
OkCancelReadOnlyPolicy::OkCancelReadOnlyPolicy()
: state_(INITIAL),
- outputs_(RO_INVALID+1,
- static_cast<int const &>( sum_ )),
- state_machine_(RO_INVALID+1,
- StateArray(SMI_TOTAL,
- static_cast<State const &>( bogus_ )))
+ outputs_(RO_INVALID + 1, ButtonPolicy::ALL_BUTTONS),
+ state_machine_(RO_INVALID + 1,
+ StateArray(SMI_TOTAL, ButtonPolicy::BOGUS))
{
// Build the state output map
outputs_[INITIAL] = CLOSE;
NoRepeatedApplyReadOnlyPolicy::NoRepeatedApplyReadOnlyPolicy()
: state_(INITIAL),
- outputs_(RO_INVALID+1,
- static_cast<int const &>( sum_ )),
- state_machine_(RO_INVALID+1,
- StateArray(SMI_TOTAL,
- static_cast<State const &>( bogus_ )))
+ outputs_(RO_INVALID + 1, ButtonPolicy::ALL_BUTTONS),
+ state_machine_(RO_INVALID + 1,
+ StateArray(SMI_TOTAL, ButtonPolicy::BOGUS))
{
// Build the state output map
outputs_[INITIAL] = CLOSE;
OkApplyCancelReadOnlyPolicy::OkApplyCancelReadOnlyPolicy()
: state_(INITIAL),
- outputs_(RO_APPLIED+1,
- static_cast<int const &>( sum_ )),
- state_machine_(RO_APPLIED+1,
- StateArray(SMI_TOTAL,
- static_cast<State const &>( bogus_ )))
+ outputs_(RO_APPLIED + 1, ButtonPolicy::ALL_BUTTONS),
+ state_machine_(RO_APPLIED + 1,
+ StateArray(SMI_TOTAL, ButtonPolicy::BOGUS))
{
// Build the state output map
outputs_[INITIAL] = CLOSE;
OkApplyCancelPolicy::OkApplyCancelPolicy()
: state_(INITIAL),
- outputs_(APPLIED+1,
- static_cast<int const &>( sum_ )),
- state_machine_(APPLIED+1,
- StateArray(SMI_TOTAL,
- static_cast<State const &>( bogus_ )))
+ outputs_(APPLIED + 1, ButtonPolicy::ALL_BUTTONS),
+ state_machine_(APPLIED + 1,
+ StateArray(SMI_TOTAL, ButtonPolicy::BOGUS))
{
// Build the state output map
outputs_[INITIAL] = CLOSE;
NoRepeatedApplyPolicy::NoRepeatedApplyPolicy()
: state_(INITIAL),
- outputs_(INVALID+1,
- static_cast<int const &>( sum_ )),
- state_machine_(INVALID+1,
- StateArray(SMI_TOTAL,
- static_cast<State const &>( bogus_ )))
+ outputs_(INVALID + 1, ButtonPolicy::ALL_BUTTONS),
+ state_machine_(INVALID + 1,
+ StateArray(SMI_TOTAL, ButtonPolicy::BOGUS))
{
// Build the state output map
outputs_[INITIAL] = CLOSE;