money

package
v0.230131.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 31, 2023 License: CC0-1.0 Imports: 16 Imported by: 0

Documentation

Overview

Package money provides high-level interaction with money devices. Overview:

  • head->money: enable accepting coins and bills inits required devices, starts polling
  • (parsed device status) money->ui: X money inserted
  • head->money: (ready to serve product) secure transaction, release change

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNeedMoreMoney        = errors.New("add-money")
	ErrChangeRetainOverflow = errors.New("ReturnChange(retain>total)")
)

Functions

func GetCurrentPrice

func GetCurrentPrice(ctx context.Context) currency.Amount

func SetCurrentPrice

func SetCurrentPrice(ctx context.Context, p currency.Amount) context.Context

Types

type MoneySystem

type MoneySystem struct {
	Log *log2.Log
	// contains filtered or unexported fields
}

func GetGlobal

func GetGlobal(ctx context.Context) *MoneySystem

func (*MoneySystem) Abort

func (ms *MoneySystem) Abort(ctx context.Context) error

Abort Release bill escrow + inserted coins returns error *only* if unable to return all money

func (*MoneySystem) AcceptCredit

func (ms *MoneySystem) AcceptCredit(ctx context.Context, maxPrice currency.Amount, stopAccept <-chan struct{}, out chan<- types.Event) error

func (*MoneySystem) AddDirty

func (ms *MoneySystem) AddDirty(dirty currency.Amount)

func (*MoneySystem) Credit

func (ms *MoneySystem) Credit(ctx context.Context) currency.Amount

func (*MoneySystem) GetDirty

func (ms *MoneySystem) GetDirty() currency.Amount

func (*MoneySystem) GetGiftCredit

func (ms *MoneySystem) GetGiftCredit() currency.Amount

GetGiftCredit TODO replace with WithdrawPrepare() -> []Spending{Cash: ..., Gift: ...}

func (*MoneySystem) ResetMoney

func (ms *MoneySystem) ResetMoney()

func (*MoneySystem) SetAcceptMax

func (ms *MoneySystem) SetAcceptMax(ctx context.Context, limit currency.Amount) error

func (*MoneySystem) SetDirty

func (ms *MoneySystem) SetDirty(dirty currency.Amount)

func (*MoneySystem) SetGiftCredit

func (ms *MoneySystem) SetGiftCredit(ctx context.Context, value currency.Amount)

func (*MoneySystem) Start

func (ms *MoneySystem) Start(ctx context.Context) error

func (*MoneySystem) Stop

func (ms *MoneySystem) Stop(ctx context.Context) error

func (*MoneySystem) TeleCashbox

func (ms *MoneySystem) TeleCashbox(ctx context.Context) *tele_api.Telemetry_Money

TeleCashbox Stored in one-way cashbox Telemetry_Money

func (*MoneySystem) TeleChange

func (ms *MoneySystem) TeleChange(ctx context.Context) *tele_api.Telemetry_Money

TeleChange Dispensable Telemetry_Money

func (*MoneySystem) WithdrawCommit

func (ms *MoneySystem) WithdrawCommit(ctx context.Context, amount currency.Amount) error

WithdrawCommit Store spending to durable memory, no user initiated return after this point.

func (*MoneySystem) WithdrawPrepare

func (ms *MoneySystem) WithdrawPrepare(ctx context.Context, amount currency.Amount) error

func (*MoneySystem) XXX_InjectCoin

func (ms *MoneySystem) XXX_InjectCoin(n currency.Nominal) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL