Sha256: 1949addc4971ad485540b9f3be82ac76cd76a574c102145b61722eb2f715dc4a

Contents?: true

Size: 927 Bytes

Versions: 1

Compression:

Stored size: 927 Bytes

Contents

module DDE

  # Class encapsulates DDE Monitor that prints all DDE transactions to console
  class Monitor < App

    # Creates new DDE monitor instance
    def initialize(init_flags=nil, &callback)
      init_flags ||=
              APPCLASS_MONITOR |  # this is monitor
              MF_CALLBACKS     |  # monitor callback functions
              MF_CONV          |  # monitor conversation data
              MF_ERRORS        |  # monitor DDEML errors
              MF_HSZ_INFO      |  # monitor data handle activity
              MF_LINKS         |  # monitor advise loops
              MF_POSTMSGS      |  # monitor posted DDE messages
              MF_SENDMSGS         # monitor sent DDE messages

      callback ||= lambda do |*args|
        p args.unshift(Win::DDE::TYPES[args.shift]).push(Win::DDE::FLAGS[args.pop])
        1
      end
      
      super init_flags, &callback
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dde-0.2.2 lib/dde/monitor.rb