haiku/headers/private/app/AppMisc.h
Ingo Weinhold 67c578e73f Added global lock that can be used for lazy initializations.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22502 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-10 21:30:51 +00:00

45 lines
997 B
C++

/*
* Copyright 2002-2007, Ingo Weinhold, bonefish@users.sf.net.
* 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 {
// Global lock that can be used e.g. to initialize singletons.
extern BLocker gInitializationLock;
status_t get_app_path(team_id team, char *buffer);
status_t get_app_path(char *buffer);
status_t get_app_ref(team_id team, entry_ref *ref, bool traverse = true);
status_t get_app_ref(entry_ref *ref, bool traverse = true);
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
// _get_object_token_
/*! Return the token of a BHandler.
\param handler The BHandler.
\return the token.
*/
inline int32 _get_object_token_(const BHandler* object)
{ return object->fToken; }
#endif // _APP_MISC_H