Class: Majoron::AntHill::SMPP::SMPPCancelBroadcastSM

Inherits:
SMPPPDU
  • Object
show all
Defined in:
lib/pdu/smpp_cancel_broadcast_sm.rb

Instance Attribute Summary collapse

Attributes inherited from SMPPPDU

#header

Instance Method Summary collapse

Methods inherited from SMPPPDU

#command_id, #command_length, #command_status, #command_status=, #sequence_number, #sequence_number=

Constructor Details

#initialize(command_status = ErrorCode::ESME_ROK, sequence_number = nil) ⇒ SMPPCancelBroadcastSM

Returns a new instance of SMPPCancelBroadcastSM.



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/pdu/smpp_cancel_broadcast_sm.rb', line 23

def initialize(command_status = ErrorCode::ESME_ROK, sequence_number = nil)
	super(CommandId::CM_CANCEL_BROADCAST_SM, command_status, sequence_number)
  
	# Mandatory fields
	@service_type = ""
	@message_id = ""
	@source_addr_ton = TON::UNKNOWN
	@source_addr_npi = NPI::UNKNOWN
	@source_addr = ""
  
	# Optional fields
	@broadcast_content_type = nil
	@user_message_reference = nil
  
	# Optional fields length
	@broadcast_content_type_len = SMPPTLVLen::ZERO_LEN
	@user_message_reference_len = SMPPTLVLen::WORD_LEN
  
end

Instance Attribute Details

#broadcast_content_typeObject

Optional fields



134
135
136
# File 'lib/pdu/smpp_cancel_broadcast_sm.rb', line 134

def broadcast_content_type
  @broadcast_content_type
end

#broadcast_content_type_lenObject

Optional fields length



138
139
140
# File 'lib/pdu/smpp_cancel_broadcast_sm.rb', line 138

def broadcast_content_type_len
  @broadcast_content_type_len
end

#message_idObject

Returns the value of attribute message_id.



128
129
130
# File 'lib/pdu/smpp_cancel_broadcast_sm.rb', line 128

def message_id
  @message_id
end

#service_typeObject

Mandatory fields



127
128
129
# File 'lib/pdu/smpp_cancel_broadcast_sm.rb', line 127

def service_type
  @service_type
end

#source_addrObject

Returns the value of attribute source_addr.



131
132
133
# File 'lib/pdu/smpp_cancel_broadcast_sm.rb', line 131

def source_addr
  @source_addr
end

#source_addr_npiObject

Returns the value of attribute source_addr_npi.



130
131
132
# File 'lib/pdu/smpp_cancel_broadcast_sm.rb', line 130

def source_addr_npi
  @source_addr_npi
end

#source_addr_tonObject

Returns the value of attribute source_addr_ton.



129
130
131
# File 'lib/pdu/smpp_cancel_broadcast_sm.rb', line 129

def source_addr_ton
  @source_addr_ton
end

#user_message_referenceObject

Returns the value of attribute user_message_reference.



135
136
137
# File 'lib/pdu/smpp_cancel_broadcast_sm.rb', line 135

def user_message_reference
  @user_message_reference
end

#user_message_reference_lenObject

Returns the value of attribute user_message_reference_len.



139
140
141
# File 'lib/pdu/smpp_cancel_broadcast_sm.rb', line 139

def user_message_reference_len
  @user_message_reference_len
end

Instance Method Details

#decode_packet(decoder) ⇒ Object

Interface to decode SMPP packet



60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# File 'lib/pdu/smpp_cancel_broadcast_sm.rb', line 60

def decode_packet(decoder)
	# Decode header and mandatory fields
	@header = decoder.decode_header()
	@service_type = decoder.decode_service_type(command_length())
	@message_id = decoder.decode_message_id(command_length())
	@source_addr_ton = decoder.decode_source_addr_ton(command_length())
	@source_addr_npi = decoder.decode_source_addr_npi(command_length())
	@source_addr = decoder.decode_source_addr21(command_length())
  
	# Decode optional fields
	while decoder.has_tlvs() 
		case decoder.get_tlv_code()
			when OptTags::TAG_BROADCAST_CONTENT_TYPE
				@broadcast_content_type, @broadcast_content_type_len = 
					decoder.decode_broadcast_content_type(command_length())
			when OptTags::TAG_USER_MESSAGE_REFERENCE
				@user_message_reference, @user_message_reference_len = 
					decoder.decode_user_message_reference(command_length())
			else
				# Report about error
				raise Errors::UNKNOWN_TAG_MSG + decoder.get_tlv_error()
		end
	end
end

#encode_packet(encoder) ⇒ Object

Interface to encode SMPP packet



43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/pdu/smpp_cancel_broadcast_sm.rb', line 43

def encode_packet(encoder)
	# Encode header and mandatory fields
	encoder.encode_header(@header)
	encoder.encode_service_type(@service_type)
	encoder.encode_message_id(@message_id)
	encoder.encode_source_addr_ton(@source_addr_ton)
	encoder.encode_source_addr_npi(@source_addr_npi)
	encoder.encode_source_addr21(@source_addr)
  
	# Encode optional fields
	encoder.encode_broadcast_content_type(@broadcast_content_type, 
		@broadcast_content_type_len) if !@broadcast_content_type.nil?
	encoder.encode_user_message_reference(@user_message_reference, 
		@user_message_reference_len) if !@user_message_reference.nil?
end

#output_packet(outputter) ⇒ Object

Interface to output SMPP packet



103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# File 'lib/pdu/smpp_cancel_broadcast_sm.rb', line 103

def output_packet(outputter)
	# Output header and mandatory fields
	outputter.output_header(@header)
	outputter.output_service_type(@service_type)
	outputter.output_message_id(@message_id)
	outputter.output_source_addr_ton(@source_addr_ton)
	outputter.output_source_addr_npi(@source_addr_npi)
	outputter.output_source_addr21(@source_addr)
  
	# Output optional fields
	outputter.output_broadcast_content_type_opt(@broadcast_content_type, 
		@broadcast_content_type_len) if !@broadcast_content_type.nil?
	outputter.output_user_message_reference(@user_message_reference, 
		@user_message_reference_len) if !@user_message_reference.nil?
end

#validate_packet(validator) ⇒ Object

Interface to validate SMPP packet



86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# File 'lib/pdu/smpp_cancel_broadcast_sm.rb', line 86

def validate_packet(validator)
	# Validate header and mandatory fields
	validator.validate_header(@header)
	validator.validate_service_type(@service_type)
	validator.validate_message_id(@message_id)
	validator.validate_source_addr_ton(@source_addr_ton)
	validator.validate_source_addr_npi(@source_addr_npi)
	validator.validate_source_addr21(@source_addr)
  
	# Validate optional fields
	validator.validate_broadcast_content_type(@broadcast_content_type, 
		@broadcast_content_type_len) if !@broadcast_content_type.nil?
	validator.validate_user_message_reference(@user_message_reference, 
		@user_message_reference_len) if !@user_message_reference.nil?
end