[haiku-commits] r34371 - in haiku/trunk: headers/private/app src/kits/app src/kits/storage/mime

  • From: ingo_weinhold@xxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Mon, 30 Nov 2009 13:14:03 +0100 (CET)

Author: bonefish
Date: 2009-11-30 13:14:02 +0100 (Mon, 30 Nov 2009)
New Revision: 34371
Changeset: http://dev.haiku-os.org/changeset/34371/haiku

Modified:
   haiku/trunk/headers/private/app/AppMisc.h
   haiku/trunk/src/kits/app/AppMisc.cpp
   haiku/trunk/src/kits/storage/mime/database_support.cpp
Log:
* Got rid of is_running_on_haiku(). It was used for the test environment,
  but wouldn't work when running it on Haiku anyway. At any rate, it was
  relatively expensive (uname()) and used already in the libbe
  initialization.
* Got rid of the non-Haiku support of main_thread_for().


Modified: haiku/trunk/headers/private/app/AppMisc.h
===================================================================
--- haiku/trunk/headers/private/app/AppMisc.h   2009-11-30 11:54:30 UTC (rev 
34370)
+++ haiku/trunk/headers/private/app/AppMisc.h   2009-11-30 12:14:02 UTC (rev 
34371)
@@ -1,15 +1,17 @@
 /*
- * Copyright 2002-2007, Ingo Weinhold, bonefish@xxxxxxxxxxxxx
+ * Copyright 2002-2009, Ingo Weinhold, bonefish@xxxxxxxxxxxxx
  * Distributed under the terms of the MIT License.
  */
 #ifndef _APP_MISC_H
 #define _APP_MISC_H
 
+
 #include <Handler.h>
 #include <Locker.h>
 #include <OS.h>
 #include <SupportDefs.h>
 
+
 struct entry_ref;
 
 namespace BPrivate {
@@ -25,8 +27,6 @@
 team_id current_team();
 thread_id main_thread_for(team_id team);
 
-bool is_running_on_haiku();
-
 bool is_app_showing_modal_window(team_id team);
 
 } // namespace BPrivate

Modified: haiku/trunk/src/kits/app/AppMisc.cpp
===================================================================
--- haiku/trunk/src/kits/app/AppMisc.cpp        2009-11-30 11:54:30 UTC (rev 
34370)
+++ haiku/trunk/src/kits/app/AppMisc.cpp        2009-11-30 12:14:02 UTC (rev 
34371)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2001-2007, Haiku.
+ * Copyright 2001-2009, Haiku.
  * Distributed under the terms of the MIT License.
  *
  * Authors:
@@ -21,7 +21,6 @@
 BLocker gInitializationLock("global init lock");
 
 
-// get_app_path
 /*!    \brief Returns the path to an application's executable.
        \param team The application's team ID.
        \param buffer A pointer to a pre-allocated character array of at least
@@ -54,7 +53,7 @@
        return B_ENTRY_NOT_FOUND;
 }
 
-// get_app_path
+
 /*!    \brief Returns the path to the application's executable.
        \param buffer A pointer to a pre-allocated character array of at least
                   size B_PATH_NAME_LENGTH to be filled in by this function.
@@ -69,7 +68,7 @@
        return get_app_path(B_CURRENT_TEAM, buffer);
 }
 
-// get_app_ref
+
 /*!    \brief Returns an entry_ref referring to an application's executable.
        \param team The application's team ID.
        \param ref A pointer to a pre-allocated entry_ref to be initialized
@@ -97,7 +96,7 @@
        return error;
 }
 
-// get_app_ref
+
 /*!    \brief Returns an entry_ref referring to the application's executable.
        \param ref A pointer to a pre-allocated entry_ref to be initialized
                   to an entry_ref referring to the application's executable.
@@ -113,7 +112,7 @@
        return get_app_ref(B_CURRENT_TEAM, ref, traverse);
 }
 
-// current_team
+
 /*!    \brief Returns the ID of the current team.
        \return The ID of the current team.
 */
@@ -129,7 +128,7 @@
        return team;
 }
 
-// main_thread_for
+
 /*!    Returns the ID of the supplied team's main thread.
        \param team The team.
        \return
@@ -140,44 +139,14 @@
 thread_id
 main_thread_for(team_id team)
 {
-#ifdef __HAIKU__
        // Under Haiku the team ID is equal to it's main thread ID. We just get
        // a team info to verify the existence of the team.
        team_info info;
        status_t error = get_team_info(team, &info);
        return (error == B_OK ? team : error);
-#else
-       // For I can't find any trace of how to explicitly get the main thread,
-       // I assume the main thread is the one with the least thread ID.
-       thread_id thread = B_BAD_TEAM_ID;
-       int32 cookie = 0;
-       thread_info info;
-       while (get_next_thread_info(team, &cookie, &info) == B_OK) {
-               if (thread < 0 || info.thread < thread)
-                       thread = info.thread;
-       }
-       return thread;
-#endif
 }
 
-// is_running_on_haiku
-/*!    Returns whether we're running under Haiku natively.
 
-       This is a runtime check for components compiled only once for both
-       BeOS and Haiku and nevertheless need to behave differently on the two
-       systems, like the registrar, which uses another MIME database directory
-       under BeOS.
-
-       \return \c true, if we're running under Haiku, \c false otherwise.
-*/
-bool
-is_running_on_haiku()
-{
-       struct utsname info;
-       return (uname(&info) == 0 && strcmp(info.sysname, "Haiku") == 0);
-}
-
-// is_app_showing_modal_window
 /*!    \brief Returns whether the application identified by the supplied
                   \c team_id is currently showing a modal window.
        \param team the ID of the application in question.
@@ -192,4 +161,3 @@
 }
 
 } // namespace BPrivate
-

Modified: haiku/trunk/src/kits/storage/mime/database_support.cpp
===================================================================
--- haiku/trunk/src/kits/storage/mime/database_support.cpp      2009-11-30 
11:54:30 UTC (rev 34370)
+++ haiku/trunk/src/kits/storage/mime/database_support.cpp      2009-11-30 
12:14:02 UTC (rev 34371)
@@ -45,10 +45,7 @@
 
 static const char *sHaikuDBDirName     = "beos_mime";
        // when running natively under Haiku
-static const char *sBeOSDBDirName      = "obos_mime";
-       // when running under BeOS
-const std::string kDatabaseDir = sSettingsDir + "/"
-       + (is_running_on_haiku() ? sHaikuDBDirName : sBeOSDBDirName);
+const std::string kDatabaseDir = sSettingsDir + "/" + sHaikuDBDirName;
 const std::string kApplicationDatabaseDir              = kDatabaseDir + 
"/application";
 
 #define ATTR_PREFIX "META:"
@@ -57,7 +54,7 @@
 
 const char *kMiniIconAttrPrefix                = MINI_ICON_ATTR_PREFIX;
 const char *kLargeIconAttrPrefix       = LARGE_ICON_ATTR_PREFIX;
-const char *kIconAttrPrefix                    = ATTR_PREFIX; 
+const char *kIconAttrPrefix                    = ATTR_PREFIX;
 
 // attribute names
 const char *kFileTypeAttr                      = "BEOS:TYPE";
@@ -143,7 +140,7 @@
                return B_BAD_VALUE;
 
        status_t status = result->SetTo(type_to_filename(type).c_str());
-       
+
        // TODO: this can be removed again later - we just didn't write this
        //      attribute is before     at all...
 #if 1
@@ -161,7 +158,7 @@
 // open_or_create_type
 /*! \brief Opens a BNode on the given type, creating a node of the
               appropriate flavor if necessary.
-       
+
        All MIME types are converted to lowercase for use in the filesystem.
        \param type The MIME type to open
        \param result Pointer to a pre-allocated BNode into which
@@ -177,7 +174,7 @@
        status_t err = (type && result ? B_OK : B_BAD_VALUE);
        if (!err) {
                filename = type_to_filename(type);
-               err = result->SetTo(filename.c_str());           
+               err = result->SetTo(filename.c_str());
        }
        if (err == B_ENTRY_NOT_FOUND) {
                // Figure out what type of node we need to create
@@ -185,7 +182,7 @@
                // + Non-supertype == file
                uint32 pos = typeLower.find_first_of('/');
                if (pos == std::string::npos) {
-                       // Supertype == directory                               
+                       // Supertype == directory
                        BDirectory parent(kDatabaseDir.c_str());
                        err = parent.InitCheck();
                        if (!err)
@@ -209,16 +206,16 @@
                        result->WriteAttr(kTypeAttr, B_STRING_TYPE, 0, type, 
strlen(type) + 1);
                }
        }
-       return err;     
+       return err;
 }
 
 // read_mime_attr
 /*! \brief Reads up to \c len bytes of the given data from the given attribute
               for the given MIME type.
-       
+
        If no entry for the given type exists in the database, the function 
fails,
        and the contents of \c data are undefined.
-              
+
        \param type The MIME type
        \param attr The attribute name
        \param data Pointer to a memory buffer into which the data should be 
copied
@@ -234,8 +231,8 @@
        BNode node;
        ssize_t err = (type && attr && data ? B_OK : B_BAD_VALUE);
        if (!err)
-               err = open_type(type, &node);   
-       if (!err) 
+               err = open_type(type, &node);
+       if (!err)
                err = node.ReadAttr(attr, datatype, 0, data, len);
        return err;
 }
@@ -243,11 +240,11 @@
 // read_mime_attr_message
 /*! \brief Reads a flattened BMessage from the given attribute of the given
        MIME type.
-       
+
        If no entry for the given type exists in the database, or if the data
        stored in the attribute is not a flattened BMessage, the function fails
        and the contents of \c msg are undefined.
-              
+
        \param type The MIME type
        \param attr The attribute name
        \param data Pointer to a pre-allocated BMessage into which the attribute
@@ -266,12 +263,12 @@
                err = node.GetAttrInfo(attr, &info);
        if (!err)
                err = info.type == B_MESSAGE_TYPE ? B_OK : B_BAD_VALUE;
-       if (!err) {             
+       if (!err) {
                buffer = new(std::nothrow) char[info.size];
                if (!buffer)
                        err = B_NO_MEMORY;
        }
-       if (!err) 
+       if (!err)
                err = node.ReadAttr(attr, B_MESSAGE_TYPE, 0, buffer, info.size);
        if (err >= 0)
                err = err == info.size ? (status_t)B_OK : 
(status_t)B_FILE_ERROR;
@@ -284,10 +281,10 @@
 // read_mime_attr_string
 /*! \brief Reads a BString from the given attribute of the given
        MIME type.
-       
+
        If no entry for the given type exists in the database, the function 
fails
        and the contents of \c str are undefined.
-              
+
        \param type The MIME type
        \param attr The attribute name
        \param str Pointer to a pre-allocated BString into which the attribute
@@ -299,8 +296,8 @@
        BNode node;
        status_t err = (type && attr && str ? B_OK : B_BAD_VALUE);
        if (!err)
-               err = open_type(type, &node);   
-       if (!err) 
+               err = open_type(type, &node);
+       if (!err)
                err = node.ReadAttrString(attr, str);
        return err;
 }
@@ -308,15 +305,15 @@
 // write_mime_attr
 /*! \brief Writes \c len bytes of the given data to the given attribute
               for the given MIME type.
-       
+
        If no entry for the given type exists in the database, it is created.
-              
+
        \param type The MIME type
        \param attr The attribute name
        \param data Pointer to the data to write
        \param len The number of bytes to write
        \param datatype The data type of the given data
-*/     
+*/
 status_t
 write_mime_attr(const char *type, const char *attr, const void *data,
        size_t len, type_code datatype, bool *didCreate)
@@ -324,7 +321,7 @@
        BNode node;
        status_t err = (type && attr && data ? B_OK : B_BAD_VALUE);
        if (!err)
-               err = open_or_create_type(type, &node, didCreate);      
+               err = open_or_create_type(type, &node, didCreate);
        if (!err) {
                ssize_t bytes = node.WriteAttr(attr, datatype, 0, data, len);
                if (bytes < B_OK)
@@ -338,9 +335,9 @@
 // write_mime_attr_message
 /*! \brief Flattens the given \c BMessage and writes it to the given attribute
               of the given MIME type.
-       
+
        If no entry for the given type exists in the database, it is created.
-              
+
        \param type The MIME type
        \param attr The attribute name
        \param msg The BMessage to flatten and write
@@ -359,8 +356,8 @@
        if (!err)
                err = bytes == msg->FlattenedSize() ? B_OK : B_ERROR;
        if (!err)
-               err = open_or_create_type(type, &node, didCreate);      
-       if (!err) 
+               err = open_or_create_type(type, &node, didCreate);
+       if (!err)
                err = node.WriteAttr(attr, B_MESSAGE_TYPE, 0, data.Buffer(), 
data.BufferLength());
        if (err >= 0)
                err = err == (ssize_t)data.BufferLength() ? (ssize_t)B_OK : 
(ssize_t)B_FILE_ERROR;


Other related posts:

  • » [haiku-commits] r34371 - in haiku/trunk: headers/private/app src/kits/app src/kits/storage/mime - ingo_weinhold