siffer 0.0.7 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. data/LICENSE +1 -1
  2. data/README +63 -93
  3. data/Rakefile +60 -0
  4. data/bin/siffer +12 -0
  5. data/lib/sif.rb +38 -0
  6. data/lib/sif/code_sets.rb +9 -0
  7. data/lib/sif/code_sets/access_permission_error_codes.rb +17 -0
  8. data/lib/sif/code_sets/authentication_error_codes.rb +15 -0
  9. data/lib/sif/code_sets/base_code_set.rb +75 -0
  10. data/lib/sif/code_sets/encryption_error_codes.rb +6 -0
  11. data/lib/sif/code_sets/error_category_codes.rb +20 -0
  12. data/lib/sif/code_sets/event_reporting_processing_error_codes.rb +7 -0
  13. data/lib/sif/code_sets/generic_message_handling_error_codes.rb +12 -0
  14. data/lib/sif/code_sets/provision_error_codes.rb +8 -0
  15. data/lib/sif/code_sets/registration_error_codes.rb +13 -0
  16. data/lib/sif/code_sets/request_response_error_codes.rb +20 -0
  17. data/lib/sif/code_sets/smb_error_codes.rb +9 -0
  18. data/lib/sif/code_sets/status_codes.rb +13 -0
  19. data/lib/sif/code_sets/subscription_error_codes.rb +7 -0
  20. data/lib/sif/code_sets/system_error_codes.rb +6 -0
  21. data/lib/sif/code_sets/transport_error_codes.rb +9 -0
  22. data/lib/sif/code_sets/xml_validation_error_codes.rb +10 -0
  23. data/lib/sif/config.rb +100 -0
  24. data/lib/sif/core_ext/array.rb +12 -0
  25. data/lib/sif/error.rb +34 -0
  26. data/lib/sif/exceptions.rb +9 -0
  27. data/lib/sif/messages.rb +3 -0
  28. data/lib/sif/messages/ack.rb +29 -0
  29. data/lib/sif/messages/message.rb +32 -0
  30. data/lib/sif/messages/register.rb +38 -0
  31. data/lib/sif/protocols.rb +15 -0
  32. data/lib/sif/status.rb +17 -0
  33. data/lib/siffer.rb +1 -41
  34. data/spec/base_code_set_spec.rb +35 -0
  35. data/spec/config_spec.rb +42 -0
  36. data/spec/error_spec.rb +11 -0
  37. data/spec/messages/ack_spec.rb +25 -0
  38. data/spec/messages/header_spec.rb +21 -0
  39. data/spec/messages/message_spec.rb +27 -0
  40. data/spec/messages/register_spec.rb +53 -0
  41. data/spec/protocol_spec.rb +11 -0
  42. data/spec/spec_helper.rb +8 -0
  43. metadata +66 -31
  44. data/lib/siffer/agent.rb +0 -53
  45. data/lib/siffer/core_ext/hash.rb +0 -15
  46. data/lib/siffer/messages.rb +0 -41
  47. data/lib/siffer/messages/ack.rb +0 -168
  48. data/lib/siffer/messages/event.rb +0 -20
  49. data/lib/siffer/messages/message.rb +0 -60
  50. data/lib/siffer/messages/provide.rb +0 -25
  51. data/lib/siffer/messages/provision.rb +0 -17
  52. data/lib/siffer/messages/register.rb +0 -50
  53. data/lib/siffer/messages/request.rb +0 -138
  54. data/lib/siffer/messages/response.rb +0 -48
  55. data/lib/siffer/messages/subscribe.rb +0 -17
  56. data/lib/siffer/messages/system_control.rb +0 -94
  57. data/lib/siffer/models.rb +0 -1
  58. data/lib/siffer/models/address.rb +0 -39
@@ -1,48 +0,0 @@
1
- module Siffer
2
- module Messages
3
-
4
- MORE_PACKETS = {
5
- :yes => "Yes",
6
- :no => "No"
7
- }
8
-
9
- # Provides element/attribute caption information for each column supplied in
10
- # ExtendedQuery. The order must correspend to the order in the ExtendedQuery
11
- #@see ExtendedQueryResults
12
- #@see Element
13
- class ColumnHeaders < SifBody
14
- element :element
15
- end
16
-
17
- class R < SifBody
18
- element :c
19
- end
20
-
21
- class Rows < SifBody
22
- element :r
23
- end
24
-
25
- # Element provides a wrapper for data returned in response to
26
- # an ExtendedQuery
27
- #@see Response
28
- #@see ReportObject
29
- class ExtendedQueryResults < SifBody
30
- element :column_headers
31
- element :rows
32
- end
33
-
34
- # Used to respond to a SIF_Request message.
35
- # May span multiple SIF_Response messages.
36
- #@see Error
37
- #@see ExtendedQueryResults
38
- class Response < Message
39
- element :request_msg_id
40
- element :packet_number
41
- element :more_packets
42
- element :error
43
- element :object_data
44
- element :extended_query_results
45
- end
46
-
47
- end
48
- end
@@ -1,17 +0,0 @@
1
- module Siffer
2
- module Messages
3
-
4
- # Message is used to subscribe to event objects that are contained in this message
5
- #@see Object
6
- class Subscribe < Message
7
- element :object
8
- end
9
-
10
- # This message performs the opposite function of SIF_Subscribe.
11
- #@see Object
12
- class Unsubscribe < Message
13
- element :object
14
- end
15
-
16
- end
17
- end
@@ -1,94 +0,0 @@
1
- module Siffer
2
- module Messages
3
-
4
- NOTIFICATION_TYPES = {
5
- :standard => "Standard",
6
- :none => "None"
7
- }
8
-
9
- # Sent to detect if a ZIS or push-mode agent is ready to receive and process messages.
10
- #@see SystemControl
11
- class Ping < SifElement; end
12
-
13
- # Allows an agent to notify a ZIS or a ZIS to notify a push-mode agent that it must not send any more messages to the sender of the SIF_Sleep.
14
- #@see SystemControl
15
- class Sleep < SifElement; end
16
-
17
- # This will signal the receiver that the sender is now able to process messages.
18
- #@see SystemControl
19
- class Wakeup < SifElement; end
20
-
21
- # This message tells the ZIS to return the first available message to the agent, subject to Selective Message Blocking.
22
- #@see SystemControl
23
- class GetMessage < SifElement; end
24
-
25
- # This message tells the ZIS to return the current SIF_ZoneStatus in a SIF_Ack.
26
- #@see SystemControl
27
- class GetZoneStatus < SifElement; end
28
-
29
- # This message tells the ZIS to return the Agent's ACL permissions in a SIF_Ack.
30
- #@see SystemControl
31
- class GetAgentACL < SifElement; end
32
-
33
- # The list of SIF_Requests to cancel
34
- #@see CancelRequests
35
- class RequestMsgIds < SifBody
36
- element :request_msg_id
37
- end
38
-
39
- # Asks a receiver (ZIS or Push-Mode Agent) to cancel the specified SIF_Requests, pending or in process
40
- #@see SystemControl
41
- class CancelRequests < SifBody
42
- element :notification_type
43
- element :request_msg_ids
44
- end
45
-
46
-
47
- # Message designed to control the flow of data between an agent and ZIS or vice-versa.
48
- class SystemControl < Message
49
- element :system_control_data, :tag => "SIF_SystemControlData"
50
-
51
- class << self
52
-
53
- # Returns a SIF_Ping
54
- def ping(source)
55
- SystemControl.new(:header => source, :system_control_data => Ping.new)
56
- end
57
-
58
- # Returns a SIF_Sleep
59
- def sleep(source)
60
- SystemControl.new(:header => source, :system_control_data => Sleep.new)
61
- end
62
-
63
- # Returns a SIF_Wakeup
64
- def wake_up(source)
65
- SystemControl.new(:header => source, :system_control_data => Wakeup.new)
66
- end
67
-
68
- # Returns a SIF_GetMessage
69
- def get_message(source)
70
- SystemControl.new(:header => source, :system_control_data => GetMessage.new)
71
- end
72
-
73
- # Returns a SIF_GetZoneStatus
74
- def get_zone_status(source)
75
- SystemControl.new(:header => source, :system_control_data => GetZoneStatus.new)
76
- end
77
-
78
- # Returns a SIF_GetAgentACL
79
- def get_agent_acl(source)
80
- SystemControl.new(:header => source, :system_control_data => GetAgentACL.new)
81
- end
82
-
83
- # Returns a SIF_CancelRequest
84
- def cancel_requests(source, notification, *ids)
85
- cancel = CancelRequests.new(
86
- :notification_type => notification,
87
- :request_msg_ids => RequestMsgIds.new(:request_msg_id => ids))
88
- SystemControl.new(:header => source, :system_control_data => cancel)
89
- end
90
- end
91
- end
92
-
93
- end
94
- end
data/lib/siffer/models.rb DELETED
@@ -1 +0,0 @@
1
- require 'siffer/models/address'
@@ -1,39 +0,0 @@
1
- module Siffer
2
- module Models
3
- class Street < AcDc::Body
4
- element :line_1
5
- element :line_2
6
- element :line_3
7
- element :complex
8
- element :street_number
9
- element :street_prefix
10
- element :street_name
11
- element :street_type
12
- element :street_suffix
13
- element :apartment_type
14
- element :apartment_number_prefix
15
- element :apartment_number
16
- element :apartment_number_suffix
17
- end
18
-
19
- class GridLocation < AcDc::Body
20
- element :longitude
21
- element :latitude
22
- end
23
-
24
- class Address < AcDc::Body
25
- attribute :type
26
- element :street
27
- element :city
28
- element :county
29
- element :state_province
30
- element :country
31
- element :postal_code
32
- element :grid_location
33
- end
34
-
35
- class AddressList < AcDc::Body
36
- element :address
37
- end
38
- end
39
- end