#
# $Id: texthandler.icn,v 1.1 2004/02/12 17:07:57 rparlett Exp $
#

package mail

class TextHandler : TypeHandler()
   method can_handle(ct)
      return map(ct.get_type()) == "text"
   end
   
   method convert_to_object(m, data)
      local res

      #
      # Convert from canonical form (CRLF) to local form (\n)
      #
      res := ""
      data ? repeat {
         res ||:= tab(find("\r\n") | 0)
         if pos(0) then
            break
         move(2)
         res ||:= "\n"
      }
      return res
   end

   method convert_from_object(m, obj)
      local res

      #
      # Convert from local form to canonical form (CRLF)
      #
      res := ""
      obj ? repeat {
         res ||:= tab(upto('\n') | 0)
         if pos(0) then
            break
         move(1)
         res ||:= "\r\n"
      }
      return res
   end
end