Commit Graph
69 Commits
Author SHA1 Message Date
Ingo Weinhold 7bb1eb8242 Fixed BLooper::UnlockFully(): It assumed benaphore style locking whereas semaphore style is used.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@977 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-03 16:56:48 +00:00
Ingo Weinhold 69b461cdbe Fixed typo.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@965 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-03 01:09:20 +00:00
ejakowatz 77a6586a2e Another test with minor tweaks to BLooper.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@874 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-25 15:44:28 +00:00
ejakowatz cb5b0f6d58 Fixed SetCommonFilterList() so that the same list can't be added to more
than one looper.
Implemented UnlockFully(), and changed destructor and Quit() to use it.
Reordered the destructor slightly so as to delete fLockSem *after* the call
to UnlockFully().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@869 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-24 20:38:15 +00:00
ejakowatz d008c62d53 Fixed a narsty little bug that suddenly started rearing its ugly head in
IsMessageWaiting() test #3.  fLastMessage wasn't getting initialized to
NULL on construction, and the random value was finally biting me.  All
better now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@856 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-24 03:08:44 +00:00
ejakowatz ff1ade6b3d More tests and fixes for bugs exposed by them. Also removed spurious
instantiation of BRoster from BArchivable, line 323, as per Tyler's
mention. =)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@852 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-22 03:43:06 +00:00
jrand e39c71fce8 Remove R3 compatibility details from BPropertyInfo, fix memory leak and implement endian-ness
aware flatten and unflatten code.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@844 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-21 06:44:27 +00:00
Ingo Weinhold 41b5558a3c Added explanative comment to get_app_path() and fixed the error return value of main_thread_for().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@827 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-19 20:21:10 +00:00
jrand 3841621d26 Fixed Flatten() and FlattenedSize() implementation so the unit tests pass now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@813 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-19 04:13:06 +00:00
jrand 52ec2aa88b Fixed Unflatten() and FindMatch() so the unit tests pass now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@805 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-18 06:52:03 +00:00
jrand 75d07a502f Add the BPropertyInfo implementation to the library.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@804 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-18 04:30:06 +00:00
jrand 765a2199e3 Add initial BPropertyInfo implementation, courtesy of Marc Flerackers.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@803 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-18 04:29:14 +00:00
Ingo Weinhold 4a87ab984b Set the the application BHandler's name correctly.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@754 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-13 22:38:24 +00:00
ejakowatz 54831cd6f1 Initial checkin for Gabe Yoder.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@739 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-13 14:02:00 +00:00
Ingo Weinhold bbab11ba30 Changed BRoster::GetRunningAppInfo() return value back to B_BAD_TEAM_ID in case the team ID is < 0. I thought R5 returns B_ERROR, but it does only for -1, otherwise it also returns B_BAD_TEAM_ID. We don't mimic this slightly insane behavior.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@680 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-09 23:50:19 +00:00
Ingo Weinhold ca3e9dba80 Fixed the return value in case of team ID < 0. R5 returns B_ERROR instead of B_BAD_TEAM_ID and so do we now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@677 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-09 23:34:04 +00:00
Ingo Weinhold 9e9f5a1ad3 Improved BMessenger::InitData() a bit: Now only one roster call is done, when a signature but no team ID is given.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@676 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-09 23:31:40 +00:00
Ingo Weinhold 672c1ea9ba Fixed return codes in InitData().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@623 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-06 22:19:37 +00:00
Ingo Weinhold 9231d6b096 Added be_roster check in InitData().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@622 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-06 22:18:23 +00:00
ejakowatz 2e2e159adc Work on ResolveSpecifier().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@599 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-06 03:58:59 +00:00
Ingo Weinhold 6a75716301 Added TODO items in the destructor.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@579 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-05 00:55:13 +00:00
Ingo Weinhold c9f4f5e164 Fixed InitData(): It must not be possible to construct a messenger targeting a B_ARGV_ONLY app.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@577 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-05 00:48:58 +00:00
Ingo Weinhold c26a5cea91 * The destructor doesn't kill the looper thread any more, as this doesn't
work very well with BApplication and has some issue with plain loopers
  too.
* DispatchMessage(): _QUIT_ doesn't delete the object any longer. The
  looper thread simply falls through the dispatching loop and deletes
  the object.
* Caused by not killing the looper thread in the destructor, Quit() had
  to be adjusted. When called from the looper thread the thread exists.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@576 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-05 00:47:31 +00:00
Ingo Weinhold 98207f6f77 Fixed Quit():
* Error message, if not locked.
* Lock(), quit, Unlock(), if not locked.
* Don't call BLooper:Quit() any more. We post a _QUIT_ message when being
  called from another than the looper thread.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@575 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-05 00:41:08 +00:00
ejakowatz 752c497115 The last remnants of the Old Repub ... er, static looper list data has been
removed.  The old static BLooper functions for managing the looper list are
still there, but they are officially deprecated.  The approved interface
for this information is BPrivate::BLooperList, accessible via the global
BPrivate::gLooperList variable.  Being as it lives in BPrivate, it is for
API-internal use *ONLY*.  User apps use it to their own risk.
Also added a small test to make sure that the size of BLooper stays the
same.  I will probably add this to other classes as well; doesn't hurt to
be safe. =)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@572 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-04 17:16:56 +00:00
ejakowatz ebbcbbca01 Implemented count_loopers()/windows() and looper/window_at(). Minor
changes to BLooperList to accomodate.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@568 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-03 23:18:14 +00:00
Ingo Weinhold 9986313c0c Fixed some bugs/behavioral differences to the R5 implementation.
* Run() was returning fTaskID, which was invalidated by Quit().
* assert_app_signature() -> check_app_signature(). InitData() now quits
  when an error occured and no error variable has been supplied. That seems
  to be what R5 does.
* When args are present B_ARGV_RECEIVED is always sent to the own team,
  even if the app flags include B_ARGV_ONLY. But it is sent to a remote
  application (already running instance), only if that app has NOT
  B_ARGV_ONLY set.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@564 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-03 16:19:31 +00:00
ejakowatz 0b55d6648f More tests, more fixes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@528 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-29 04:09:50 +00:00
ejakowatz 7bf6c06936 More tests with fixes to BLooper so it will pass those tests.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@527 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-29 03:08:43 +00:00
ejakowatz b1698c8e74 Mostly fixes for silly compile error, plus an additional test.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@524 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 21:49:42 +00:00
Ingo Weinhold 7e24e06e2c Fixed synchronous SendMessage() versions. They need to add be_app_messenger as reply target, if the supplied reply target is invalid.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@523 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 21:23:52 +00:00
Ingo Weinhold 822cdddb68 Fixed bug in AddHandler(): SetNextHandler() must not be invoked on the looper itself.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@522 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 21:22:23 +00:00
ejakowatz 2284462ccf Scripting-related changes. Also indulged in some unwarrented formatting
anality. =P


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@519 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 20:28:00 +00:00
Ingo Weinhold 1e298dbb58 Added AppMisc.cpp.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@514 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 19:33:26 +00:00
Ingo Weinhold 8a526591a0 * Moved some reusable code into AppMisc.cpp/h.
* Init be_app in InitData().
* Uninit be_app and be_app_messenger in BApplication destructor.^


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@513 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 19:33:00 +00:00
Ingo Weinhold 8cd292013b Added _send_to_roster_() and _is_valid_roster_mess_().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@512 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 19:30:27 +00:00
Ingo Weinhold 4d7538b180 Moved some reusable code from BApplication to this shiny new place.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@510 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 19:26:21 +00:00
ejakowatz 80a604c999 All things BMessage; initial check in.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@503 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 17:45:25 +00:00
Ingo Weinhold d958d04793 Added doxygen comments for the implemented methods and fixed some smaller issues.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@493 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 13:34:44 +00:00
Ingo Weinhold 3057c103f5 Init be_app_messenger in InitData().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@492 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 13:32:52 +00:00
Ingo Weinhold 92cf4c7532 Implemented IsRunning(), TeamFor(), GetAppList(),
Get{Running,Active,}AppInfo() and ActivateApp().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@482 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 00:20:37 +00:00
Ingo Weinhold 47924e2bed A comment to remind me to call create_app_meta_mime() in InitData() once it is available.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@481 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 00:18:29 +00:00
Ingo Weinhold b194af1035 Added message and codes, a flat_app_info structure and the name of roster side created app looper ports.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@458 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-26 19:57:58 +00:00
Ingo Weinhold 73a2b29f2e * Implemented InitData(), which should now be complete with respect to
what we need for the roster.
* B_{ARGV,REFS}_RECEIVED and B_READY_TO_RUN messages are dispatched now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@457 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-26 19:55:10 +00:00
Ingo Weinhold 92180c47a3 Get the current team not using fTaskID, the looper thread, but find_thread(NULL) instead. In InitData() the thread has not been spawned yet.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@456 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-26 19:51:49 +00:00
Ingo Weinhold 3b04471572 Implemented InitData(). BMessenger is complete.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@455 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-26 19:48:49 +00:00
Ingo Weinhold 496ffb0aa7 * Changed return type of some private methods from void to status_t.
AddApplication() returns the token via reference parameter and
  additionally returns the team ID of the already running app (if any).
* Implemented AddApplication(), SetThreadAndTeam(), CompleteRegistration(),
  IsAppPreRegistered(), RemovePreRegApp(), RemoveApp(), or to to say it
  briefly the complete set of app registration helper functions.
* Implemented GetRunningAppInfo() and GetActiveAppInfo().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@454 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-26 19:47:21 +00:00
Ingo Weinhold caf7e04f7f Implemented missing app_info constructor and destructor.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@411 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-23 23:41:15 +00:00
ejakowatz 459de0d777 Fixed stupid syntax errors generated by my property_info dump tool. Now to
fix the tool ...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@402 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-23 21:25:54 +00:00
Ingo Weinhold 17c00872bb Implemented _init_roster_() and added _delete_roster_() which are now responsible for be_roster.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@399 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-23 21:21:55 +00:00