@@ 890-946 (lines=57) @@ | ||
887 | __repr__ = __str__ |
|
888 | ||
889 | ||
890 | class Argument(FrozenClass): |
|
891 | ''' |
|
892 | An argument for a method. |
|
893 | ||
894 | :ivar Name: |
|
895 | :vartype Name: String |
|
896 | :ivar DataType: |
|
897 | :vartype DataType: NodeId |
|
898 | :ivar ValueRank: |
|
899 | :vartype ValueRank: Int32 |
|
900 | :ivar ArrayDimensions: |
|
901 | :vartype ArrayDimensions: UInt32 |
|
902 | :ivar Description: |
|
903 | :vartype Description: LocalizedText |
|
904 | ''' |
|
905 | def __init__(self, binary=None): |
|
906 | if binary is not None: |
|
907 | self._binary_init(binary) |
|
908 | self._freeze = True |
|
909 | return |
|
910 | self.Name = '' |
|
911 | self.DataType = NodeId() |
|
912 | self.ValueRank = 0 |
|
913 | self.ArrayDimensions = [] |
|
914 | self.Description = LocalizedText() |
|
915 | self._freeze = True |
|
916 | ||
917 | def to_binary(self): |
|
918 | packet = [] |
|
919 | packet.append(pack_string(self.Name)) |
|
920 | packet.append(self.DataType.to_binary()) |
|
921 | packet.append(uatype_Int32.pack(self.ValueRank)) |
|
922 | packet.append(uatype_Int32.pack(len(self.ArrayDimensions))) |
|
923 | for fieldname in self.ArrayDimensions: |
|
924 | packet.append(uatype_UInt32.pack(fieldname)) |
|
925 | packet.append(self.Description.to_binary()) |
|
926 | return b''.join(packet) |
|
927 | ||
928 | @staticmethod |
|
929 | def from_binary(data): |
|
930 | return Argument(data) |
|
931 | ||
932 | def _binary_init(self, data): |
|
933 | self.Name = unpack_string(data) |
|
934 | self.DataType = NodeId.from_binary(data) |
|
935 | self.ValueRank = uatype_Int32.unpack(data.read(4))[0] |
|
936 | self.ArrayDimensions = unpack_uatype_array('UInt32', data) |
|
937 | self.Description = LocalizedText.from_binary(data) |
|
938 | ||
939 | def __str__(self): |
|
940 | return 'Argument(' + 'Name:' + str(self.Name) + ', ' + \ |
|
941 | 'DataType:' + str(self.DataType) + ', ' + \ |
|
942 | 'ValueRank:' + str(self.ValueRank) + ', ' + \ |
|
943 | 'ArrayDimensions:' + str(self.ArrayDimensions) + ', ' + \ |
|
944 | 'Description:' + str(self.Description) + ')' |
|
945 | ||
946 | __repr__ = __str__ |
|
947 | ||
948 | ||
949 | class EnumValueType(FrozenClass): |
|
@@ 13848-13902 (lines=55) @@ | ||
13845 | __repr__ = __str__ |
|
13846 | ||
13847 | ||
13848 | class AxisInformation(FrozenClass): |
|
13849 | ''' |
|
13850 | :ivar EngineeringUnits: |
|
13851 | :vartype EngineeringUnits: EUInformation |
|
13852 | :ivar EURange: |
|
13853 | :vartype EURange: Range |
|
13854 | :ivar Title: |
|
13855 | :vartype Title: LocalizedText |
|
13856 | :ivar AxisScaleType: |
|
13857 | :vartype AxisScaleType: AxisScaleEnumeration |
|
13858 | :ivar AxisSteps: |
|
13859 | :vartype AxisSteps: Double |
|
13860 | ''' |
|
13861 | def __init__(self, binary=None): |
|
13862 | if binary is not None: |
|
13863 | self._binary_init(binary) |
|
13864 | self._freeze = True |
|
13865 | return |
|
13866 | self.EngineeringUnits = EUInformation() |
|
13867 | self.EURange = Range() |
|
13868 | self.Title = LocalizedText() |
|
13869 | self.AxisScaleType = AxisScaleEnumeration(0) |
|
13870 | self.AxisSteps = [] |
|
13871 | self._freeze = True |
|
13872 | ||
13873 | def to_binary(self): |
|
13874 | packet = [] |
|
13875 | packet.append(self.EngineeringUnits.to_binary()) |
|
13876 | packet.append(self.EURange.to_binary()) |
|
13877 | packet.append(self.Title.to_binary()) |
|
13878 | packet.append(uatype_UInt32.pack(self.AxisScaleType.value)) |
|
13879 | packet.append(uatype_Int32.pack(len(self.AxisSteps))) |
|
13880 | for fieldname in self.AxisSteps: |
|
13881 | packet.append(uatype_Double.pack(fieldname)) |
|
13882 | return b''.join(packet) |
|
13883 | ||
13884 | @staticmethod |
|
13885 | def from_binary(data): |
|
13886 | return AxisInformation(data) |
|
13887 | ||
13888 | def _binary_init(self, data): |
|
13889 | self.EngineeringUnits = EUInformation.from_binary(data) |
|
13890 | self.EURange = Range.from_binary(data) |
|
13891 | self.Title = LocalizedText.from_binary(data) |
|
13892 | self.AxisScaleType = AxisScaleEnumeration(uatype_UInt32.unpack(data.read(4))[0]) |
|
13893 | self.AxisSteps = unpack_uatype_array('Double', data) |
|
13894 | ||
13895 | def __str__(self): |
|
13896 | return 'AxisInformation(' + 'EngineeringUnits:' + str(self.EngineeringUnits) + ', ' + \ |
|
13897 | 'EURange:' + str(self.EURange) + ', ' + \ |
|
13898 | 'Title:' + str(self.Title) + ', ' + \ |
|
13899 | 'AxisScaleType:' + str(self.AxisScaleType) + ', ' + \ |
|
13900 | 'AxisSteps:' + str(self.AxisSteps) + ')' |
|
13901 | ||
13902 | __repr__ = __str__ |
|
13903 | ||
13904 | ||
13905 | class XVType(FrozenClass): |