org.kde.koala
Class KMimeMagic

java.lang.Object
  extended by org.kde.koala.KMimeMagic
All Implemented Interfaces:
org.kde.qt.QtSupport

public class KMimeMagic
extends java.lang.Object
implements org.kde.qt.QtSupport

May be removed in KDE 4.0. Determine auto-magically the type of file, not only by using its extension, but also by reading its contents. Unless specified otherwise, KMimeMagic uses $KDEDIR/share/mimelnk/magic for this purpose. To make KMimeMagic restore the 'atime' of a file after it opened it, add its directory in kmimemagicrc like: [Settings] atimeDirs=/tmp,/var/tmp,/home/dfaure/tmp This isn't done by default because it changes the 'ctime'. See kmimemagic.cpp for a full discussion on this issue. The basic usage of KMimeMagic is :

  • Get a pointer to it, using KMimeMagic.self().
  • Use it for any file or buffer you want, using one of the three find...Type() methods.
  • The result is contained in the class KMimeMagicResult.


    Constructor Summary
      KMimeMagic()
              Create a parser and initialize it with the KDE-global data: the "magic" config file as well as the snippets from share/config/magic.
    protected KMimeMagic(java.lang.Class dummy)
               
      KMimeMagic(java.lang.String configFile)
              Create a parser and initialize it with the given config file.
     
    Method Summary
     void dispose()
              Delete the wrapped C++ instance ahead of finalize()
    protected  void finalize()
              Deletes the wrapped C++ instance
     KMimeMagicResult findBufferFileType(byte[] arg1, java.lang.String filename)
              Same functionality as findBufferType() but with additional capability of distinguishing between C-headers and C-Source.
     KMimeMagicResult findBufferType(byte[] p)
              Same functionality as above, except data is not read from a file.
     KMimeMagicResult findFileType(java.lang.String _filename)
              Try to find a MimeType for the given file.
    protected static void initStatic()
               
     boolean isDisposed()
              Has the wrapped C++ instance been deleted?
     boolean mergeBufConfig(java.lang.String arg1)
              Merge an existing parse table with the data from the given buffer.
     boolean mergeConfig(java.lang.String configFile)
              Merge an existing parse table with the data from the given file.
    static KMimeMagic self()
              Returns a pointer to the unique KMimeMagic instance in this process.
     void setFollowLinks(boolean _enable)
              Enable/Disable follow-links.
     
    Methods inherited from class java.lang.Object
    clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
     

    Constructor Detail

    KMimeMagic

    protected KMimeMagic(java.lang.Class dummy)

    KMimeMagic

    public KMimeMagic()
    Create a parser and initialize it with the KDE-global data: the "magic" config file as well as the snippets from share/config/magic.


    KMimeMagic

    public KMimeMagic(java.lang.String configFile)
    Create a parser and initialize it with the given config file.

    Method Detail

    mergeConfig

    public boolean mergeConfig(java.lang.String configFile)
    Merge an existing parse table with the data from the given file.

    Returns:
    true on success.

    mergeBufConfig

    public boolean mergeBufConfig(java.lang.String arg1)
    Merge an existing parse table with the data from the given buffer.

    Returns:
    true on success.

    setFollowLinks

    public void setFollowLinks(boolean _enable)
    Enable/Disable follow-links. (Default is disabled.)


    findFileType

    public KMimeMagicResult findFileType(java.lang.String _filename)
    Try to find a MimeType for the given file. If no special MimeType is found, the default MimeType is returned. This function looks at the content of the file.

    Returns:
    A pointer to the result object. Do @em not delete the result object. After another call to KMimeMagic the returned result object changes its value since it is reused by KMimeMagic.

    findBufferType

    public KMimeMagicResult findBufferType(byte[] p)
    Same functionality as above, except data is not read from a file. Instead a buffer can be supplied which is examined.

    Returns:
    A pointer to the result object. Do @em not delete the result object. After another call to KMimeMagic the returned result object changes its value since it is reused by KMimeMagic.

    findBufferFileType

    public KMimeMagicResult findBufferFileType(byte[] arg1,
                                               java.lang.String filename)
    Same functionality as findBufferType() but with additional capability of distinguishing between C-headers and C-Source. For this purpose this function looks at the extension of the filename. This means that 'filename' can be a filename on some FTP server, too.

    Returns:
    A pointer to the result object. Do @em not delete the result object. After another call to KMimeMagic the returned result object changes its value since it is reused by KMimeMagic.

    self

    public static KMimeMagic self()
    Returns a pointer to the unique KMimeMagic instance in this process.


    initStatic

    protected static void initStatic()

    finalize

    protected void finalize()
                     throws java.lang.InternalError
    Deletes the wrapped C++ instance

    Overrides:
    finalize in class java.lang.Object
    Throws:
    java.lang.InternalError

    dispose

    public void dispose()
    Delete the wrapped C++ instance ahead of finalize()


    isDisposed

    public boolean isDisposed()
    Has the wrapped C++ instance been deleted?