aboutsummaryrefslogtreecommitdiffstats
path: root/BSSMAP.st
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2012-03-25 18:24:27 +0200
committerHolger Hans Peter Freyther <zecke@selfish.org>2012-03-25 18:38:52 +0200
commit59741ad281bd17fad2c6deba9c7238a50f1ad30e (patch)
tree6fbeb456b3fc65ab939a9dfc78b4af7eff5fabc0 /BSSMAP.st
parent56fb27a1894768cdd66cffe5b01ee0206d5cfab0 (diff)
streams: Move to streams in the signature, kill temporary variables
Diffstat (limited to 'BSSMAP.st')
-rw-r--r--BSSMAP.st72
1 files changed, 24 insertions, 48 deletions
diff --git a/BSSMAP.st b/BSSMAP.st
index a0f843f..dfbc399 100644
--- a/BSSMAP.st
+++ b/BSSMAP.st
@@ -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)
]