Sha256: fd811cebd5d3907a2a8123f8d086dbb5388c996b1d3c5cf97db28c3aabba05e4

Contents?: true

Size: 1.11 KB

Versions: 8

Compression:

Stored size: 1.11 KB

Contents

module RubySMB
  class Server
    module Share
      module Provider
        # The share provider defines the share and its attributes such as its
        # type and name. It is shared across all client connections and
        # sessions.
        class Base
          # @param [String] name The name of this share.
          def initialize(name)
            @name = name
          end

          # Create a new, session-specific processor instance for this share.
          #
          # @param [RubySMB::Server::ServerClient] server_client The client connection.
          # @param [RubySMB::Server::Session] session The session object.
          def new_processor(server_client, session)
            self.class::Processor.new(self, server_client, session)
          end

          # The type of this share.
          def type
            self.class::TYPE
          end

          # The name of this share.
          # @!attribute [r] name
          #   @return [String]
          attr_accessor :name
        end
      end
    end
  end
end

require 'ruby_smb/server/share/provider/disk'
require 'ruby_smb/server/share/provider/pipe'

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
ruby_smb-3.1.1 lib/ruby_smb/server/share/provider.rb
ruby_smb-3.1.0 lib/ruby_smb/server/share/provider.rb
ruby_smb-3.0.6 lib/ruby_smb/server/share/provider.rb
ruby_smb-3.0.5 lib/ruby_smb/server/share/provider.rb
ruby_smb-3.0.4 lib/ruby_smb/server/share/provider.rb
ruby_smb-3.0.3 lib/ruby_smb/server/share/provider.rb
ruby_smb-3.0.2 lib/ruby_smb/server/share/provider.rb
ruby_smb-3.0.1 lib/ruby_smb/server/share/provider.rb