diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2012-03-25 18:24:27 +0200 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2012-03-25 18:38:52 +0200 |
commit | 59741ad281bd17fad2c6deba9c7238a50f1ad30e (patch) | |
tree | 6fbeb456b3fc65ab939a9dfc78b4af7eff5fabc0 /BSSMAP.st | |
parent | 56fb27a1894768cdd66cffe5b01ee0206d5cfab0 (diff) |
streams: Move to streams in the signature, kill temporary variables
Diffstat (limited to 'BSSMAP.st')
-rw-r--r-- | BSSMAP.st | 72 |
1 files changed, 24 insertions, 48 deletions
@@ -147,11 +147,9 @@ GSM0808IE subclass: GSMCellIdentifier [ yourself ] - GSMCellIdentifier class >> parseFrom: aByteArray [ - | lai lac ci aStream | - aStream := aByteArray readStream. - - aStream skip: 2. + GSMCellIdentifier class >> parseFrom: aStream [ + | lai lac ci | + aStream skip: 1. (aStream next) = 0 ifFalse: [ Error signal: 'Can not handle Cell Identifier of type != 0'. @@ -220,9 +218,8 @@ GSM0808IE subclass: GSMLayer3Info [ yourself ] - GSMLayer3Info class >> parseFrom: aByteArray [ - | size aStream | - aStream := aByteArray readStream skip: 1; yourself. + GSMLayer3Info class >> parseFrom: aStream [ + | size | size := aStream next. ^ GSMLayer3Info initWith: (aStream next: size) @@ -261,10 +258,8 @@ GSM0808IE subclass: GSMCauseIE [ cause: aCause; yourself ] - GSMCauseIE class >> parseFrom: aByteArray [ - | size aStream | - aStream := aByteArray readStream skip: 1; yourself. - + GSMCauseIE class >> parseFrom: aStream [ + | size | size := aStream next. size = 1 ifFalse: [ @@ -299,9 +294,7 @@ GSM0808IE subclass: GSM0808ChosenChannel [ ^ 1 ] - GSM0808ChosenChannel class >> parseFrom: aByteArray [ - | aStream | - aStream := aByteArray readStream skip: 1; yourself. + GSM0808ChosenChannel class >> parseFrom: aStream [ ^ self initWith: aStream next. ] @@ -325,9 +318,8 @@ GSM0808IE subclass: GSM0808IMSI [ yourself ] - GSM0808IMSI class >> parseFrom: aByteArray [ - | imsi aStream | - aStream := aByteArray readStream skip: 1; yourself. + GSM0808IMSI class >> parseFrom: aStream [ + | imsi | imsi := (GSM48MIdentity parseFrom: aStream) imsi. imsi ifNil: [ @@ -355,10 +347,8 @@ GSM0808IE subclass: GSM0808CellIdentifierList [ <category: 'OsmoGSM'> GSM0808CellIdentifierList class >> elementId [ ^ 26 ] - GSM0808CellIdentifierList class >> parseFrom: aByteArray [ - | len ident cells aStream | - - aStream := aByteArray readStream skip: 1; yourself. + GSM0808CellIdentifierList class >> parseFrom: aStream [ + | len ident cells | len := aStream next. len < 2 @@ -424,9 +414,8 @@ GSM0808IE subclass: GSM0808EncrIE [ yourself ] - GSM0808EncrIE class >> parseFrom: aByteArray [ - | aStream len | - aStream := aByteArray readStream skip: 1; yourself. + GSM0808EncrIE class >> parseFrom: aStream [ + | len | len := aStream next. ^ self initWith: (aStream next) key: (aStream next: len - 1). @@ -476,9 +465,7 @@ GSM0808IE subclass: GSM0808ChosenEncrIE [ ^ 1 ] - GSM0808ChosenEncrIE class >> parseFrom: aByteArray [ - | aStream | - aStream := aByteArray readStream skip: 1; yourself. + GSM0808ChosenEncrIE class >> parseFrom: aStream [ ^ self initWith: (aStream next). ] @@ -545,9 +532,8 @@ GSM0808IE subclass: GSM0808ChannelTypeIE [ yourself ] - GSM0808ChannelTypeIE class >> parseFrom: aByteArray [ - | aStream size | - aStream := aByteArray readStream skip: 1; yourself. + GSM0808ChannelTypeIE class >> parseFrom: aStream [ + | size | size := aStream next. ^ (self initWith: aStream next audio: aStream next) @@ -603,10 +589,8 @@ GSM0808IE subclass: GSM0808CICIE [ yourself ] - GSM0808CICIE class >> parseFrom: aByteArray [ - | aStream | + GSM0808CICIE class >> parseFrom: aStream [ <category: 'creation'> - aStream := aByteArray readStream skip: 1; yourself. ^ self initWith: (aStream next: 2) ] @@ -651,9 +635,7 @@ GSM0808IE subclass: GSM0808CauseIE [ yourself ] - GSM0808CauseIE class >> parseFrom: aByteArray [ - | aStream | - aStream := aByteArray readStream skip: 1; yourself. + GSM0808CauseIE class >> parseFrom: aStream [ ^ self initWith: aStream next ] @@ -678,9 +660,7 @@ GSM0808IE subclass: GSM0808SpeechVerIE [ yourself ] - GSM0808SpeechVerIE class >> parseFrom: aByteArray [ - | aStream | - aStream := aByteArray readStream skip: 1; yourself. + GSM0808SpeechVerIE class >> parseFrom: aStream [ ^ self initWith: aStream next ] @@ -707,11 +687,9 @@ GSM0808IE subclass: GSM0808Classmark2IE [ cm: aCM; yourself ] - GSM0808Classmark2IE class >> parseFrom: aByteArray [ - | aStream size | - aStream := aByteArray readStream skip: 1; yourself. + GSM0808Classmark2IE class >> parseFrom: aStream [ + | size | size := aStream next. - ^ self initWith: (aStream next: size) ] @@ -735,11 +713,9 @@ GSM0808IE subclass: GSM0808Classmark3IE [ cm: aCM; yourself ] - GSM0808Classmark3IE class >> parseFrom: aByteArray [ - | aStream size | - aStream := aByteArray readStream skip: 1; yourself. + GSM0808Classmark3IE class >> parseFrom: aStream [ + | size | size := aStream next. - ^ self initWith: (aStream next: size) ] |