Class: RubySMB::Server::Share::Provider::Processor::Base
- Inherits:
-
Object
- Object
- RubySMB::Server::Share::Provider::Processor::Base
- Defined in:
- lib/ruby_smb/server/share/provider/processor.rb
Overview
A processor is unique to a particular client connection-session combination and provides the share's functionality.
Instance Attribute Summary collapse
Instance Method Summary collapse
- #disconnect! ⇒ Object
- #do_close_smb2(request) ⇒ Object
- #do_create_smb2(request) ⇒ Object
- #do_ioctl_smb2(request) ⇒ Object
- #do_query_directory_smb2(request) ⇒ Object
- #do_query_info_smb2(request) ⇒ Object
- #do_read_smb2(request) ⇒ Object
-
#initialize(provider, server_client, session) ⇒ Base
constructor
A new instance of Base.
-
#logger ⇒ Logger
The logger object associated with this instance.
-
#maximal_access(path = nil) ⇒ RubySMB::SMB2::BitField::FileAccessMask
Get the maximum access that can be obtained for the specified path.
- #server ⇒ Object
Constructor Details
#initialize(provider, server_client, session) ⇒ Base
9 10 11 12 13 |
# File 'lib/ruby_smb/server/share/provider/processor.rb', line 9 def initialize(provider, server_client, session) @provider = provider @server_client = server_client @session = session end |
Instance Attribute Details
#provider ⇒ RubySMB::Server::Share::Provider::Base
70 71 72 |
# File 'lib/ruby_smb/server/share/provider/processor.rb', line 70 def provider @provider end |
Instance Method Details
#disconnect! ⇒ Object
25 26 |
# File 'lib/ruby_smb/server/share/provider/processor.rb', line 25 def disconnect! end |
#do_close_smb2(request) ⇒ Object
28 29 30 |
# File 'lib/ruby_smb/server/share/provider/processor.rb', line 28 def do_close_smb2(request) raise NotImplementedError end |
#do_create_smb2(request) ⇒ Object
32 33 34 |
# File 'lib/ruby_smb/server/share/provider/processor.rb', line 32 def do_create_smb2(request) raise NotImplementedError end |
#do_ioctl_smb2(request) ⇒ Object
36 37 38 39 40 41 |
# File 'lib/ruby_smb/server/share/provider/processor.rb', line 36 def do_ioctl_smb2(request) response = RubySMB::SMB2::Packet::IoctlResponse.new response.smb2_header.nt_status = WindowsError::NTStatus::STATUS_NOT_FOUND response.smb2_header.credits = 1 response end |
#do_query_directory_smb2(request) ⇒ Object
43 44 45 |
# File 'lib/ruby_smb/server/share/provider/processor.rb', line 43 def do_query_directory_smb2(request) raise NotImplementedError end |
#do_query_info_smb2(request) ⇒ Object
47 48 49 |
# File 'lib/ruby_smb/server/share/provider/processor.rb', line 47 def do_query_info_smb2(request) raise NotImplementedError end |
#do_read_smb2(request) ⇒ Object
51 52 53 |
# File 'lib/ruby_smb/server/share/provider/processor.rb', line 51 def do_read_smb2(request) raise NotImplementedError end |
#logger ⇒ Logger
The logger object associated with this instance.
59 60 61 |
# File 'lib/ruby_smb/server/share/provider/processor.rb', line 59 def logger @server_client.logger end |
#maximal_access(path = nil) ⇒ RubySMB::SMB2::BitField::FileAccessMask
Get the maximum access that can be obtained for the specified path. If no path is specified, the maximum access for the share as a whole is returned.
21 22 23 |
# File 'lib/ruby_smb/server/share/provider/processor.rb', line 21 def maximal_access(path=nil) RubySMB::SMB2::BitField::FileAccessMask.new end |
#server ⇒ Object
63 64 65 |
# File 'lib/ruby_smb/server/share/provider/processor.rb', line 63 def server @server_client.server end |