class TurboRex::MSRPC::RPCFinder::Collection
Attributes
client_interfaces[R]
server_interfaces[R]
Public Class Methods
new()
click to toggle source
# File lib/turborex/msrpc/rpcfinder.rb, line 72 def initialize @server_interfaces = [] @client_interfaces = [] end
Public Instance Methods
draw_xrefs()
click to toggle source
# File lib/turborex/msrpc/rpcfinder.rb, line 85 def draw_xrefs @server_interfaces.each do |si| ci = find_client_by_server(si) next if ci.empty? si.xrefs_to << ci ci.xrefs_from << si si.uniq! ci.uniq! end true end
find_by_interface_id(id, filter = nil)
click to toggle source
# File lib/turborex/msrpc/rpcfinder.rb, line 108 def find_by_interface_id(id, filter = nil) case filter when nil @server_interfaces.select { |i| i.interface_id == id } + \ @client_interfaces.select { |i| i.interface_id == id } when :server @server_interfaces.select { |i| i.interface_id == id } when :client @client_interfaces.select { |i| i.interface_id == id } end end
find_by_midl_switches(*switches)
click to toggle source
# File lib/turborex/msrpc/rpcfinder.rb, line 125 def find_by_midl_switches(*switches) @server_interfaces.select { |i| i.midl_switches.has_one_of_switches?(switches) } + \ @client_interfaces.select { |i| i.midl_switches.has_one_of_switches?(switches) } end
find_by_routine(routine)
click to toggle source
# File lib/turborex/msrpc/rpcfinder.rb, line 120 def find_by_routine(routine) @server_interfaces.select { |i| i.routines.include?(routine) } + \ @client_interfaces.select { |i| i.routines.include?(routine) } end
find_client_by_server(server)
click to toggle source
# File lib/turborex/msrpc/rpcfinder.rb, line 104 def find_client_by_server(server) @client_interfaces.select { |i| i.interface_id == server.interface_id } end
find_server_by_client(client)
click to toggle source
# File lib/turborex/msrpc/rpcfinder.rb, line 100 def find_server_by_client(client) @server_interfaces.select { |i| i.interface_id == client.interface_id } end
push_client(i)
click to toggle source
# File lib/turborex/msrpc/rpcfinder.rb, line 81 def push_client(i) @client_interfaces << i end
push_server(i)
click to toggle source
# File lib/turborex/msrpc/rpcfinder.rb, line 77 def push_server(i) @server_interfaces << i end