def requestBalance(self, ): M3incStat('RECEIVE', 'requestBalance') M3incStat('SEND', 'information.balance') self.sendAfter(self, self.__level, 'information.balance', 0, sum=self.money)
def c2act(self, ): M3incStat('RECEIVE', 'c2act') M3incStat('SEND', 'p2.messageFromC2') self.sendAfter( self, self.__level, 'p2.messageFromC2', 0, )
def c3act(self, ): M3incStat('RECEIVE', 'c3act') M3incStat('SEND', 'p2.response') self.sendAfter( self, self.__level, 'p2.response', 0, )
def M3giveUp__inserted(self, ): M3incStat('RECEIVE', 'giveUp') M3incStat('SEND', 'cardSlot.returnCard') self.sendAfter( self, self.__level, 'cardSlot.returnCard', 0, ) self.M3State = 'empty'
def inputSum(self, sum): M3incStat('RECEIVE','inputSum') if self.cardState.equals(self.CardState.withVal('Authorized')).toBool(): M3incStat('SEND','accounting.withdraw') self.sendAfter(self, self.__level, 'accounting.withdraw', 0, sum) M3incStat('SEND','cashSlot.emitCash') self.sendAfter(self, self.__level, 'cashSlot.emitCash', 0, ) M3incStat('SEND','cardSlot.returnCard') self.sendAfter(self, self.__level, 'cardSlot.returnCard', 0, ) self.cardState.assign(self.CardState.withVal('Empty'))
def updateAccount(self, sum): M3incStat('RECEIVE', 'updateAccount') accrued = M3Types.M3RealBase.createObject() accrued.assign( M3Predefined.M3FLOAT(sum).times(self.interestRate).divide( M3Types.M3RealBase.createObject(100.0))) M3incStat('SEND', 'account.deposit') self.sendAfter(self, self.__level, 'account.deposit', 0, M3Predefined.M3TRUNC(accrued)) M3incStat('SEND', 'mail.statement') self.sendAfter(self, self.__level, 'mail.statement', 0, sum.plus(M3Predefined.M3TRUNC(accrued)))
def delegate(self, ): M3incStat('RECEIVE', 'delegate') M3incStat('SEND', 'p2.done') self.sendAfter( self, self.__level, 'p2.done', M3Types.M3IntegerBase.createObject(3 * 1000000000000).val, ) self.M3LockProcessor( max( M3Types.M3IntegerBase.createObject(3 * 1000000000000).val, M3Types.M3IntegerBase.createObject(6 * 1000000000000).val))
def M3inputPIN__inserted(self, pin): M3incStat('RECEIVE', 'inputPIN') if pin.equals(self.cardInfo.getField('encodedPIN')).toBool(): self.M3State = 'authorized' else: self.failureCount.assign( self.failureCount.plus(M3Types.M3IntegerBase.createObject(1)))
def M3inputSum__authorized(self, sum): M3incStat('RECEIVE', 'inputSum') M3incStat('SEND', 'accounting.withdraw') self.sendAfter(self, self.__level, 'accounting.withdraw', 0, sum) M3incStat('SEND', 'cashSlot.emitCash') self.sendAfter( self, self.__level, 'cashSlot.emitCash', 0, ) M3incStat('SEND', 'cardSlot.returnCard') self.sendAfter( self, self.__level, 'cardSlot.returnCard', 0, ) self.M3State = 'empty'
def dec(self, ): M3incStat('RECEIVE','dec') self.counter.assign(self.counter.minus(M3Types.M3IntegerBase.createObject(1)))
def insertCard(self, card): M3incStat('RECEIVE','insertCard') self.cardState.assign(self.CardState.withVal('Inserted')) self.cardInfo.assign(card)
def M3insertCard__empty(self, card): M3incStat('RECEIVE', 'insertCard') self.cardInfo.assign(card) self.M3State = 'inserted'
def M3insertCard__empty(self, card): M3incStat('RECEIVE', 'insertCard') self.cardInfo.assign(card) Timer.Start(self.inputTimeout) self.M3State = 'inserted'
def M3inputPIN__inserted(self, pin): M3incStat('RECEIVE', 'inputPIN') if pin.equals(self.cardInfo.getField('encodedPIN')).toBool(): self.M3State = 'authorized'
def deposit(self, sum): M3incStat('RECEIVE', 'deposit') newtotal = M3Types.M3IntegerBase.createObject() newtotal.assign(self.money.plus(sum)) self.money.assign(newtotal)
def withdraw(self, sum): M3incStat('RECEIVE', 'withdraw') newtotal = M3Types.M3IntegerBase.createObject() newtotal.assign(self.money.minus(sum)) self.money.assign(newtotal)
def timeact(self, ): M3incStat('RECEIVE', 'timeact') IO.Put(M3Types.M3Text.createObject("timeact\n")) self.i.assign(self.i.plus(M3Types.M3IntegerBase.createObject(1))) M3incStat('SEND', 'p1.foo') self.sendAfter(self, self.__level, 'p1.foo', 0, self.i)
def handler(self, ): M3incStat('RECEIVE','handler') M3incStat('SEND','p1.alarm') self.sendAfter(self, self.__level, 'p1.alarm', 0, )
def inputPIN(self, pin): M3incStat('RECEIVE','inputPIN') if self.cardState.equals(self.CardState.withVal('Inserted')).opand(pin.equals(self.cardInfo.getField('encodedPIN'))).toBool(): self.cardState.assign(self.CardState.withVal('Authorized'))
def testInput(self, myRec): M3incStat('RECEIVE','testInput') IO.Put(M3Predefined.M3IMAGE(myRec))
def setInterestRate(self, rate): M3incStat('RECEIVE', 'setInterestRate') self.interestRate.assign(rate)
def M3reject__inserted(self, ): M3incStat('RECEIVE', 'reject') self.failureCount.assign(M3Types.M3IntegerBase.createObject(0)) self.M3State = 'empty'
def act(self, ): M3incStat('RECEIVE', 'act') IO.Put(M3Types.M3Text.createObject("act called\n"))