diff --git a/GSM411.st b/GSM411.st index 2ecc6f1..f1f7f14 100644 --- a/GSM411.st +++ b/GSM411.st @@ -59,23 +59,27 @@ GSM48FixedSizeIE subclass: GSM411RpMessageReference [ GSM48DataHolder subclass: GSM411RpOriginatorAddress [ + ] GSM48DataHolder subclass: GSM411RpDestinationAddress [ + ] GSM48DataHolder subclass: GSM411RpUserData [ + ] GSM48DataHolder subclass: GSM411RpCause [ + GSM411RpCause class [ "MO Causes" diff --git a/GSM48.st b/GSM48.st index 525de08..feafb45 100644 --- a/GSM48.st +++ b/GSM48.st @@ -95,11 +95,6 @@ GSM48IE subclass: GSM48FixedSizeIE [ gsmValueLength := aLength ] - gsmValueLength [ - - ^gsmValueLength - ] - classPragmas [ ^super classPragmas, #(#gsmValueLength) @@ -118,7 +113,10 @@ GSM48IE subclass: GSM48FixedSizeIE [ gsmValueLength [ - ^ gsmValueLength ifNil: [self superclass gsmValueLength] + ^ gsmValueLength ifNil: [ + self = GSM48FixedSizeIE + ifTrue: [nil] + ifFalse: [self superclass gsmValueLength]] ] asTLVDescription [ @@ -155,12 +153,16 @@ GSM48IE subclass: GSM48VariableSizedIE [ gsmValueSizeMin [ - ^gsmValueRange first + ^(self = GSM48VariableSizedIE or: [self = GSM48DataHolder]) + ifTrue: [nil] + ifFalse: [gsmValueRange first] ] gsmValueSizeMax [ - ^gsmValueRange last + ^(self = GSM48VariableSizedIE or: [self = GSM48DataHolder]) + ifTrue: [nil] + ifFalse: [gsmValueRange last] ] gsmValueSizeMin: aMin [ @@ -834,6 +836,7 @@ GSM48VariableSizedIE subclass: GSM48MIdentity [ + GSM48MIdentity class >> createDefault [ @@ -1988,6 +1991,7 @@ GSM48NetworkName subclass: GSM48ShortName [ + ] GSM48SimpleData subclass: GSM48TimeZone [