aboutsummaryrefslogtreecommitdiffstats
path: root/GSM48.st
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2012-08-24 14:17:20 +0200
committerHolger Hans Peter Freyther <zecke@selfish.org>2012-08-24 14:17:53 +0200
commit202fcda0d5cb8531a1c014b878461f18b5814c51 (patch)
treedbcd8f9ed71ff62cc989d21fbde8cdb6ac766c22 /GSM48.st
parent7daf9816a667ac9cdb4285b633443df8cda0a205 (diff)
gsm48: Use the gsmName pragma to set the default variable name
This is killing most of the increase in linesize when switching to the TLVDescription. There will be some follow up cleanups.
Diffstat (limited to 'GSM48.st')
-rw-r--r--GSM48.st305
1 files changed, 59 insertions, 246 deletions
diff --git a/GSM48.st b/GSM48.st
index c993376..1437770 100644
--- a/GSM48.st
+++ b/GSM48.st
@@ -54,6 +54,13 @@ IEBase subclass: GSM48IE [
<category: 'gsm-pragma'>
^ gsmElementId
]
+
+ GSM48IE class >> asTLVDescription [
+ <category: 'parsing'>
+ ^ Osmo.TLVDescription new
+ tag: gsmElementId; parseClass: self;
+ instVarName: gsmName; yourself
+ ]
]
GSM48IE subclass: GSM48SimpleTag [
@@ -75,9 +82,7 @@ GSM48IE subclass: GSM48SimpleTag [
GSM48SimpleTag class >> asTLVDescription [
<category: 'parsing'>
- ^ Osmo.TLVDescription new
- parseClass: self; beTagOnly; valueSize: 0;
- yourself
+ ^ super asTLVDescription beTagOnly; valueSize: 0; yourself
]
value: aValue [
@@ -109,10 +114,9 @@ GSM48IE subclass: GSM48DataHolder [
GSM48DataHolder class >> asTLVDescription [
<category: 'parsing'>
- ^ Osmo.TLVDescription new
- parseClass: self; beTLV;
+ ^ super asTLVDescription
+ beTLV;
minSize: self validSizes first maxSize: self validSizes last;
- instVarName: gsmName;
yourself
]
@@ -191,9 +195,8 @@ GSM48IE subclass: GSM48SimpleData [
GSM48SimpleData class >> asTLVDescription [
<category: 'parsing'>
- ^ Osmo.TLVDescription new
- valueSize: self length; beTV;
- instVarName: gsmName; parseClass: self; yourself
+ ^ super asTLVDescription
+ valueSize: self length; beTV; yourself
]
GSM48SimpleData class >> initWithData: aData [
@@ -339,11 +342,7 @@ GSM48SimpleData subclass: GSM48KeySeqLuType [
<category: 'OsmoGSM'>
<comment: 'This byte is shared for two things'>
- GSM48KeySeqLuType class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #luType; yourself.
- ]
+ <gsmName: 'luType'>
GSM48KeySeqLuType class >> createDefault [
<category: 'creation'>
@@ -371,11 +370,11 @@ GSM48IE subclass: GSM48Lai [
| lai lac |
<category: 'OsmoGSM'>
+ <gsmName: 'lai'>
GSM48Lai class >> asTLVDescription [
<category: 'parsing'>
- ^ Osmo.TLVDescription new
- parseClass: self; instVarName: #lai;
+ ^ super asTLVDescription
valueSize: 5; beTV; yourself
]
@@ -420,10 +419,11 @@ GSM48IE subclass: GSM48Classmark1 [
<category: 'OsmoGSM'>
+ <gsmName: 'cm1'>
+
GSM48Classmark1 class >> asTLVDescription [
<category: 'parsing'>
- ^ Osmo.TLVDescription new
- parseClass: self; instVarName: #cm1;
+ ^ super asTLVDescription
valueSize: 1; beTV; yourself
]
@@ -458,11 +458,7 @@ GSM48DataHolder subclass: GSM48Classmark2 [
<category: 'OsmoGSM'>
<comment: 'I am CM2 of 10.5.1.6'>
- GSM48Classmark2 class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #cm2; yourself
- ]
+ <gsmName: 'cm2'>
GSM48Classmark2 class >> createDefault [
^ self new
@@ -483,6 +479,7 @@ GSM48IE subclass: GSM48MIdentity [
<category: 'OsmoGSM'>
<gsmElementId: 23>
+ <gsmName: 'mi'>
GSM48MIdentity class >> miIMSI [ <category: 'spec'> ^ 16r1 ]
GSM48MIdentity class >> miIMEI [ <category: 'spec'> ^ 16r2 ]
@@ -497,8 +494,7 @@ GSM48IE subclass: GSM48MIdentity [
]
GSM48MIdentity class >> asTLVDescription [
- ^ Osmo.TLVDescription new
- parseClass: self; instVarName: #mi;
+ ^ super asTLVDescription
beTLV; yourself
]
@@ -597,11 +593,7 @@ GSM48IE subclass: GSM48MIdentity [
GSM48SimpleData subclass: GSM48RejectCause [
<category: 'OsmoGSM'>
- GSM48RejectCause class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #prio; yourself
- ]
+ <gsmName: 'prio'>
GSM48RejectCause class >> createDefault [
<category: 'creation'>
@@ -627,11 +619,7 @@ GSM48SimpleData subclass: GSM48AuthRand [
<category: 'OsmoGSM'>
<comment: 'I represent the 10.5.3.1 Authentication parameter RAND'>
- GSM48AuthRand class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #auth; yourself
- ]
+ <gsmName: 'auth'>
GSM48AuthRand class >> length [ ^ 16 ]
]
@@ -640,11 +628,7 @@ GSM48SimpleData subclass: GSM48AuthSRES [
<category: 'OsmoGSM'>
<comment: 'I represent the 10.5.3.2 Auth. parameter SRES'>
- GSM48AuthSRES class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #sres; yourself
- ]
+ <gsmName: 'sres'>
GSM48AuthSRES class >> length [ ^ 4 ]
]
@@ -655,12 +639,7 @@ GSM48SimpleTag subclass: GSM48FollowOn [
<gsmIeMask: 16rFF>
<gsmElementId: 16rA1>
-
- GSM48FollowOn class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #follow; yourself
- ]
+ <gsmName: 'follow'>
]
GSM48SimpleTag subclass: GSM48CTSPermission [
@@ -669,13 +648,7 @@ GSM48SimpleTag subclass: GSM48CTSPermission [
<gsmIeMask: 16rFF>
<gsmElementId: 16rA2>
-
- GSM48CTSPermission class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #cts; yourself
- ]
-
+ <gsmName: 'cts'>
]
GSM48SimpleData subclass: GSM48IdentityType [
@@ -683,11 +656,7 @@ GSM48SimpleData subclass: GSM48IdentityType [
<comment: 'I represent the 10.5.3.4. Identity Type'>
"Ignore the spare values"
- GSM48IdentityType class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #idType; yourself
- ]
+ <gsmName: 'idType'>
GSM48IdentityType class >> typeIMSI [ ^ 1 ]
GSM48IdentityType class >> typeIMEI [ ^ 2 ]
@@ -709,26 +678,14 @@ GSM48SimpleTag subclass: GSMRepeatInd [
<category: 'OsmoGSM'>
<gsmElementId: 16rD0>
-
- GSMRepeatInd class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #repeatInd; yourself
- ]
-
+ <gsmName: 'repeatInd'>
]
GSM48SimpleTag subclass: GSMPriorityLevel [
<category: 'OsmoGSM'>
<gsmElementId: 16r80>
-
- GSMPriorityLevel class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #prio; yourself
- ]
-
+ <gsmName: 'prio'>
]
Object subclass: GSMBitField [
@@ -977,17 +934,11 @@ GSM48DataHolder subclass: GSMBearerCap [
<comment: '10.5.4.5'>
<gsmElementId: 16r04>
-
- GSMBearerCap class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #bearer; yourself
- ]
+ <gsmName: 'bearer'>
GSMBearerCap class >> validSizes [ ^ 1 to: 13 ]
"GSM 04.08 Table 10.5.102. Strings depend on other attributes"
-
]
GSM48DataHolder subclass: GSMFacility [
@@ -995,12 +946,7 @@ GSM48DataHolder subclass: GSMFacility [
<comment: '10.5.4.15'>
<gsmElementId: 16r1C>
-
- GSMFacility class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #facility; yourself
- ]
+ <gsmName: 'facility'>
GSMFacility class >> validSizes [ ^ 1 to: 254 ]
]
@@ -1010,6 +956,7 @@ GSM48DataHolder subclass: GSMProgress [
<comment: '10.5.4.21 Progress indicator'>
<gsmElementId: 16r1E>
+ <gsmName: 'progress'>
GSMProgress class [
codingStandardMask [ <category: 'Coding standard'> ^ 2r11 ]
@@ -1032,12 +979,6 @@ GSM48DataHolder subclass: GSMProgress [
progressQueueing [ <category: 'Progress'> ^ 2r1000000 ]
]
- GSMProgress class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #progress; yourself
- ]
-
GSMProgress class >> createDefault [
^ self new
data: #(2r11101010 2r10000001) asByteArray;
@@ -1096,12 +1037,7 @@ GSM48SimpleData subclass: GSMSignal [
<category: 'OsmoGSM'>
<gsmElementId: 16r34>
-
- GSMSignal class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #signal; yourself
- ]
+ <gsmName: 'signal'>
GSMSignal class >> length [ ^ 1 ]
]
@@ -1230,12 +1166,7 @@ GSM48DataHolder subclass: GSMCalledBCDNumber [
<comment: '10.5.4.7'>
<gsmElementId: 16r5E>
-
- GSMCalledBCDNumber class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #called; yourself
- ]
+ <gsmName: 'called'>
GSMCalledBCDNumber class >> validSizes [
"For PCS1900 it is 19 in total, in theory up to 43. It
@@ -1293,12 +1224,7 @@ GSM48DataHolder subclass: GSMCalledSubBCDNumber [
<comment: '10.5.4.8'>
<gsmElementId: 16r6D>
-
- GSMCalledSubBCDNumber class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #calledSub; yourself
- ]
+ <gsmName: 'calledSub'>
GSMCalledSubBCDNumber class >> validSizes [ ^ 0 to: 21 ]
]
@@ -1308,12 +1234,7 @@ GSM48DataHolder subclass: GSMCallingBCDNumber [
<comment: '10.5.4.9'>
<gsmElementId: 16r5C>
-
- GSMCallingBCDNumber class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #calling; yourself
- ]
+ <gsmName: 'calling'>
GSMCallingBCDNumber class >> validSizes [ ^ 1 to: 12 ]
]
@@ -1323,12 +1244,7 @@ GSM48DataHolder subclass: GSMCallingSubBCDNumber [
<comment: '10.5.4.10'>
<gsmElementId: 16r5D>
-
- GSMCallingSubBCDNumber class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #callingSub; yourself
- ]
+ <gsmName: 'callingSub'>
GSMCallingSubBCDNumber class >> validSizes [ ^ 0 to: 21 ]
]
@@ -1338,12 +1254,7 @@ GSM48DataHolder subclass: GSMRedirectingBCDNumber [
<comment: '10.5.4.21a'>
<gsmElementId: 16r74>
-
- GSMRedirectingBCDNumber class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #redirect; yourself
- ]
+ <gsmName: 'redirect'>
GSMRedirectingBCDNumber class >> validSizes [ ^ 1 to: 17 ]
]
@@ -1353,12 +1264,7 @@ GSM48DataHolder subclass: GSMRedirectingSubBCDNumber [
<comment: '10.5.4.21b'>
<gsmElementId: 16r75>
-
- GSMRedirectingSubBCDNumber class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #redirectSub; yourself
- ]
+ <gsmName: 'redirectSub'>
GSMRedirectingSubBCDNumber class >> validSizes [ ^ 1 to: 21 ]
]
@@ -1385,12 +1291,7 @@ GSM48DataHolder subclass: GSMUserUser [
<comment: '10.5.4.25'>
<gsmElementId: 16r7E>
-
- GSMUserUser class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #useruser; yourself
- ]
+ <gsmName: 'useruser'>
GSMUserUser class >> validSizes [ ^ 1 to: 33 ]
]
@@ -1400,12 +1301,7 @@ GSM48DataHolder subclass: GSMSSVersionInd [
<comment: '10.5.4.24'>
<gsmElementId: 16r7F>
-
- GSMSSVersionInd class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #ssVersion; yourself
- ]
+ <gsmName: 'ssVersion'>
GSMSSVersionInd class >> validSizes [ ^ 0 to: 1 ]
]
@@ -1415,13 +1311,7 @@ GSM48SimpleTag subclass: GSMClirSuppression [
<gsmIeMask: 16rFF>
<gsmElementId: 16rA1>
-
- GSMClirSuppression class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #clirSuppr; yourself
- ]
-
+ <gsmName: 'clirSuppr'>
]
GSM48SimpleTag subclass: GSMClirInvocation [
@@ -1429,12 +1319,7 @@ GSM48SimpleTag subclass: GSMClirInvocation [
<gsmIeMask: 16rFF>
<gsmElementId: 16rA2>
-
- GSMClirInvocation class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #clirInvoc; yourself
- ]
+ <gsmName: 'clirInvoc'>
]
GSM48DataHolder subclass: GSMCCCapabilities [
@@ -1442,12 +1327,7 @@ GSM48DataHolder subclass: GSMCCCapabilities [
<comment: '10.5.4.5a'>
<gsmElementId: 16r15>
-
- GSMCCCapabilities class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #ccCapabil; yourself
- ]
+ <gsmName: 'ccCapabil'>
GSMCCCapabilities class >> validSizes [ ^ 1 to: 2 ]
@@ -1462,12 +1342,7 @@ GSM48DataHolder subclass: GSMConnectedNumber [
<comment: '10.5.4.13'>
<gsmElementId: 16r4C>
-
- GSMConnectedNumber class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #connected; yourself
- ]
+ <gsmName: 'connected'>
GSMConnectedNumber class >> validSizes [ ^ 1 to: 12 ]
]
@@ -1477,12 +1352,7 @@ GSM48DataHolder subclass: GSMConnectedSubNumber [
<comment: '10.5.4.14'>
<gsmElementId: 16r4D>
-
- GSMConnectedSubNumber class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #connectedSub; yourself
- ]
+ <gsmName: 'connectedSub'>
GSMConnectedSubNumber class >> validSizes [ ^ 0 to: 21 ]
]
@@ -1492,12 +1362,7 @@ GSM48DataHolder subclass: GSMAllowedActions [
<comment: '10.5.4.27'>
<gsmElementId: 16r7B>
-
- GSMAllowedActions class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #allowedActions; yourself
- ]
+ <gsmName: 'allowedActions'>
GSMAllowedActions class >> validSizes [ ^ 1 to: 1 ]
]
@@ -1507,11 +1372,7 @@ GSM48DataHolder subclass: GSM48Cause [
<comment: '10.5.4.11'>
<gsmElementId: 16r8>
-
- GSM48Cause class >> asTLVDescription [
- ^ super asTLVDescription
- instVarName: #cause; yourself.
- ]
+ <gsmName: 'cause'>
GSM48Cause class >> validSizes [ ^ 2 to: 30 ]
]
@@ -1521,12 +1382,7 @@ GSM48DataHolder subclass: GSMAlertingPattern [
<comment: '10.5.4.26'>
<gsmElementId: 16r19>
-
- GSMAlertingPattern class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #alert; yourself
- ]
+ <gsmName: 'alert'>
GSMAlertingPattern class >> validSizes [ ^ 1 to: 1 ]
]
@@ -1535,11 +1391,7 @@ GSM48SimpleData subclass: GSM48Callstate [
<category: 'OsmoGSM'>
<comment: '10.5.4.6'>
- GSM48Callstate class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #callState; yourself
- ]
+ <gsmName: 'callState'>
GSM48Callstate class >> length [ <category: 'length'> ^ 1]
]
@@ -1549,12 +1401,7 @@ GSM48DataHolder subclass: GSM48AuxillaryStates [
<comment: '10.5.4.4'>
<gsmElementId: 16r24>
-
- GSM48AuxillaryStates class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #auxStates; yourself
- ]
+ <gsmName: 'auxStates'>
GSM48AuxillaryStates class >> validSizes [ <category: 'id'> ^ 1 to: 1]
]
@@ -1563,6 +1410,8 @@ GSM48SimpleData subclass: GSMRRCause [
<category: 'OsmoGSM'>
<comment: '10.5.2.31'>
+ <gsmName: 'cause'>
+
GSMRRCause class >> causeNormalEvent [ <category: 'cause'> ^ 2r00000000 ]
GSMRRCause class >> causeAbnormalRelUnspec [ <category: 'cause'> ^ 2r00000001 ]
GSMRRCause class >> causeAbnormalRelUnacc [ <category: 'cause'> ^ 2r00000010 ]
@@ -1581,12 +1430,6 @@ GSM48SimpleData subclass: GSMRRCause [
GSMRRCause class >> causeNoCellAllocAvail [ <category: 'cause'> ^ 2r01100101 ]
GSMRRCause class >> causeProtocolErrorUnspec [ <category: 'cause'> ^ 2r01101111 ]
- GSMRRCause class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #cause; yourself
- ]
-
GSMRRCause class >> defaultValue [
<category: 'default'>
^ 0
@@ -1603,12 +1446,7 @@ GSM48SimpleData subclass: GSMStreamIdentifier [
<comment: '10.5.4.28'>
<gsmElementId: 16r19>
-
- GSMStreamIdentifier class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #streamIdentifier; yourself
- ]
+ <gsmName: 'streamIdentifier'>
GSMStreamIdentifier class >> length [ ^ 1 ]
]
@@ -1618,12 +1456,7 @@ GSM48DataHolder subclass: GSMSupportedCodecs [
<comment: '10.5.4.32'>
<gsmElementId: 16r40>
-
- GSMSupportedCodecs class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #supportedCodecs; yourself
- ]
+ <gsmName: 'supportedCodecs'>
GSMSupportedCodecs class >> validSizes [ ^ 3 to: 254 ]
]
@@ -1634,12 +1467,7 @@ GSM48SimpleTag subclass: GSMRedial [
<gsmIeMask: 16rFF>
<gsmElementId: 16rA3>
-
- GSMRedial class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #redial; yourself
- ]
+ <gsmName: 'redial'>
]
GSM48SimpleData subclass: GSMNetworkCallControlCap [
@@ -1647,12 +1475,7 @@ GSM48SimpleData subclass: GSMNetworkCallControlCap [
<comment: '10.5.4.29'>
<gsmElementId: 16r2F>
-
- GSMNetworkCallControlCap class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #networkCallControlCaps; yourself
- ]
+ <gsmName: 'networkCallControlCaps'>
GSMNetworkCallControlCap class >> length [ ^ 1 ]
]
@@ -1662,12 +1485,7 @@ GSM48SimpleData subclass: GSMCauseNoCLI [
<comment: '10.5.4.30'>
<gsmElementId: 16r3A>
-
- GSMCauseNoCLI class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #causeNoCLI; yourself
- ]
+ <gsmName: 'causeNoCLI'>
GSMCauseNoCLI class >> length [ ^ 1 ]
]
@@ -1677,12 +1495,7 @@ GSM48DataHolder subclass: GSMBackupBearerCapability [
<comment: '10.5.4.4a'>
<gsmElementId: 16r41>
-
- GSMBackupBearerCapability class >> asTLVDescription [
- <category: 'parsing'>
- ^ super asTLVDescription
- instVarName: #backupBearerCap; yourself
- ]
+ <gsmName: 'backupBearerCap'>
GSMBackupBearerCapability class >> validSizes [ ^ 1 to: 13 ]
]