Made all server version and signatures consistent, and thus closing bug #909.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19092 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler
2006-10-22 17:56:02 +00:00
parent 1f8b22ef22
commit 8a93edb60c
16 changed files with 288 additions and 466 deletions
+1 -2
View File
@@ -22,12 +22,11 @@
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*/
#ifndef MIDI_PROTOCOL_H
#define MIDI_PROTOCOL_H
// MIME signature of the midi_server application.
#define MIDI_SERVER_SIGNATURE "application/x-vnd.haiku.midi-server"
#define MIDI_SERVER_SIGNATURE "application/x-vnd.Haiku-midi_server"
// Timeout for delivering and responding to messages (microseconds).
#define TIMEOUT 2000000
+4 -7
View File
@@ -2,23 +2,20 @@
* app_server.rdef
*/
resource app_signature "application/x-vnd.haiku-app-server";
resource app_signature "application/x-vnd.Haiku-app-server";
resource app_flags B_SINGLE_LAUNCH | B_BACKGROUND_APP;
resource app_version {
major = 1,
major = 1,
middle = 0,
minor = 0,
/* 0 = development 1 = alpha 2 = beta
3 = gamma 4 = golden master 5 = final */
variety = 1,
variety = B_APPV_ALPHA,
internal = 0,
short_info = "app_server",
long_info = "app_server, Copyright 2006, Haiku Inc."
long_info = "app_server ©2004-2006 Haiku Inc."
};
resource large_icon array {
+1 -1
View File
@@ -37,7 +37,7 @@
using std::map;
using std::nothrow;
static const char *kSignature = "application/x-vnd.haiku-debug-server";
static const char *kSignature = "application/x-vnd.Haiku-debug_server";
// paths to the apps used for debugging
static const char *kConsoledPath = "/bin/consoled";
+7 -31
View File
@@ -1,45 +1,21 @@
/*
* DebugServer.rdef
*
* debug_server.rdef
*/
/* BEOS:APP_SIG :
application:/x-vnd.obos.app-name
*/
resource app_signature "application/x-vnd.haiku-debug-server";
/* BEOS:APP_FLAGS :
00000000 = SINGLE LAUNCH
00000001 = MULTIPLE LAUNCH
00000002 = EXCLUSIVE LAUNCH
00000004 = BACKGROUND APP + SINGLE LAUNCH
00000005 = BACKGROUND APP + MULTIPLE LAUNCH
00000006 = BACKGROUND APP + EXCLUSIVE LAUNCH
00000008 = ARGV_ONLY + SINGLE LAUNCH
00000009 = ARGV_ONLY + MULTIPLE LAUNCH
0000000A = ARGV_ONLY + EXCLUSIVE LAUNCH
0000000C = ARGV_ONLY + BACKGROUND APP + SINGLE LAUNCH
0000000D = ARGV_ONLY + BACKGROUND APP + MULTIPLE LAUNCH
0000000E = ARGV_ONLY + BACKGROUND APP + EXCLUSIVE LAUNCH
*/
resource app_signature "application/x-vnd.Haiku-debug_server";
resource app_flags B_SINGLE_LAUNCH | B_BACKGROUND_APP;
resource app_version {
major = 1,
major = 1,
middle = 0,
minor = 0,
/* 0 = development 1 = alpha 2 = beta
3 = gamma 4 = golden master 5 = final */
variety = 1,
variety = B_APPV_ALPHA,
internal = 0,
short_info = "debug_server",
long_info = "Haiku - debug_server"
long_info = "debug_server ©2005-2006 Haiku"
};
resource large_icon array {
+2 -5
View File
@@ -7,14 +7,11 @@ resource app_signature "application/x-vnd.Be-input_server";
resource app_flags B_EXCLUSIVE_LAUNCH | B_BACKGROUND_APP;
resource app_version {
major = 1,
major = 1,
middle = 0,
minor = 0,
/* 0 = development 1 = alpha 2 = beta
3 = gamma 4 = golden master 5 = final */
variety = 1,
variety = B_APPV_ALPHA,
internal = 0,
short_info = "input_server",
+18 -29
View File
@@ -1,23 +1,24 @@
resource(1, "BEOS:APP_SIG") #'MIMS' "application/x-vnd.Be-POST";
resource app_signature "application/x-vnd.Be-POST";
resource app_version
{
resource app_flags B_BACKGROUND_APP;
resource(1, "BEOS:FILE_TYPES") message {
"types" = "text/x-partial-email"
};
resource app_version {
major = 3,
middle = 0,
minor = 3,
/* 0 = development 1 = alpha 2 = beta
3 = gamma 4 = golden master 5 = final */
variety = 5,
variety = B_APPV_FINAL,
internal = 3,
short_info = "Mail Daemon 3.0.3",
long_info = "Mail Daemon 3.0.3 ©2005 Haiku"
short_info = "mail_daemon",
long_info = "mail_daemon ©2005-2006 Haiku"
};
resource(0, "Read") #'BBMP' archive BBitmap
{
resource(0, "Read") #'BBMP' archive BBitmap {
"_frame" = rect { 0.00000, 0.00000, 15.0000, 15.0000 },
"_cspace" = 4,
"_bmflags" = 1,
@@ -35,8 +36,7 @@ resource(0, "Read") #'BBMP' archive BBitmap
}
};
resource(1, "New") #'BBMP' archive BBitmap
{
resource(1, "New") #'BBMP' archive BBitmap {
"_frame" = rect { 0.00000, 0.00000, 15.0000, 15.0000 },
"_cspace" = 4,
"_bmflags" = 1,
@@ -54,8 +54,7 @@ resource(1, "New") #'BBMP' archive BBitmap
}
};
resource(2) #'BBMP' archive BBitmap
{
resource(2) #'BBMP' archive BBitmap {
"_frame" = rect { 0.00000, 0.00000, 15.0000, 15.0000 },
"_cspace" = 4,
"_bmflags" = 1,
@@ -73,8 +72,7 @@ resource(2) #'BBMP' archive BBitmap
}
};
resource(3) #'BBMP' archive BBitmap
{
resource(3) #'BBMP' archive BBitmap {
"_frame" = rect { 0.00000, 0.00000, 15.0000, 15.0000 },
"_cspace" = 4,
"_bmflags" = 1,
@@ -92,8 +90,7 @@ resource(3) #'BBMP' archive BBitmap
}
};
resource(0, "BEOS:L:text/x-partial-email") #'ICON' array
{
resource(0, "BEOS:L:text/x-partial-email") #'ICON' array {
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
@@ -128,8 +125,7 @@ resource(0, "BEOS:L:text/x-partial-email") #'ICON' array
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F0F0FFFFFFFFFFFFFFFFFFFFF"
};
resource(101, "BEOS:L:STD_ICON") #'ICON' array
{
resource large_icon {
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
@@ -184,8 +180,7 @@ resource(0, "BEOS:M:text/x-partial-email") #'MICN' array
$"FFFFFFFFFFFFFFFFFF0FFFFFFFFFFFFF"
};
resource(101, "BEOS:M:STD_ICON") #'MICN' array
{
resource mini_icon {
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFF0000FFFFFF"
$"FFFFFF0000000000000000D9D90000FF"
@@ -204,9 +199,3 @@ resource(101, "BEOS:M:STD_ICON") #'MICN' array
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
};
resource(1, "BEOS:FILE_TYPES") message
{
"types" = "text/x-partial-email"
};
resource(1, "BEOS:APP_FLAGS") #'APPF' $"04000000";
+7 -16
View File
@@ -1,30 +1,21 @@
/*
** media_server.rdef
**
*/
/* BEOS:APP_SIG :
application:/x-vnd.obos.app-name
*/
* media_server.rdef
*/
resource app_signature "application/x-vnd.Be.media-server";
resource app_flags B_EXCLUSIVE_LAUNCH|B_BACKGROUND_APP;
resource app_version {
major = 1,
major = 1,
middle = 0,
minor = 0,
/* 0 = development 1 = alpha 2 = beta
3 = gamma 4 = golden master 5 = final */
variety = 1,
variety = B_APPV_ALPHA,
internal = 0,
short_info = "media_server",
long_info = "Haiku Media Server"
long_info = "media_server ©2001-2006 Haiku"
};
resource large_icon array {
@@ -1,30 +1,21 @@
/*
** media_addon_server.rdef
**
*/
/* BEOS:APP_SIG :
application:/x-vnd.obos.app-name
*/
* media_addon_server.rdef
*/
resource app_signature "application/x-vnd.Be.addon-host";
resource app_flags B_EXCLUSIVE_LAUNCH|B_BACKGROUND_APP;
resource app_flags B_EXCLUSIVE_LAUNCH | B_BACKGROUND_APP;
resource app_version {
major = 1,
major = 1,
middle = 0,
minor = 0,
/* 0 = development 1 = alpha 2 = beta
3 = gamma 4 = golden master 5 = final */
variety = 1,
variety = B_APPV_ALPHA,
internal = 0,
short_info = "media_addon_server",
long_info = "Haiku Media Addon Server"
long_info = "media_addon_server ©2002-2006 Haiku"
};
resource large_icon array {
+136 -239
View File
@@ -28,7 +28,6 @@
#include "ServerDefs.h"
#include "protocol.h"
//------------------------------------------------------------------------------
MidiServerApp::MidiServerApp()
: BApplication(MIDI_SERVER_SIGNATURE)
@@ -39,24 +38,21 @@ MidiServerApp::MidiServerApp()
devWatcher.Start();
}
//------------------------------------------------------------------------------
MidiServerApp::~MidiServerApp()
{
for (int32 t = 0; t < CountApps(); ++t)
{
for (int32 t = 0; t < CountApps(); ++t) {
delete AppAt(t);
}
for (int32 t = 0; t < CountEndpoints(); ++t)
{
for (int32 t = 0; t < CountEndpoints(); ++t) {
delete EndpointAt(t);
}
}
//------------------------------------------------------------------------------
void MidiServerApp::AboutRequested()
void
MidiServerApp::AboutRequested()
{
(new BAlert(0,
"Haiku midi_server 1.0.0 alpha\n\n"
@@ -67,22 +63,15 @@ void MidiServerApp::AboutRequested()
B_INFO_ALERT))->Go();
}
//------------------------------------------------------------------------------
void MidiServerApp::MessageReceived(BMessage* msg)
void
MidiServerApp::MessageReceived(BMessage* msg)
{
#ifdef DEBUG
printf("IN "); msg->PrintToStream();
#endif
// About thread safety inside the midi_server: even though
// multiple apps may be sending requests to the server at
// the same time, the BLooper's thread handles passes them
// to our MessageReceived() one after the other, so there
// is no need to synchronize anything.
switch (msg->what)
{
switch (msg->what) {
case MSG_REGISTER_APP: OnRegisterApp(msg); break;
case MSG_CREATE_ENDPOINT: OnCreateEndpoint(msg); break;
case MSG_DELETE_ENDPOINT: OnDeleteEndpoint(msg); break;
@@ -95,9 +84,9 @@ void MidiServerApp::MessageReceived(BMessage* msg)
}
}
//------------------------------------------------------------------------------
void MidiServerApp::OnRegisterApp(BMessage* msg)
void
MidiServerApp::OnRegisterApp(BMessage* msg)
{
TRACE(("MidiServerApp::OnRegisterApp"))
@@ -109,17 +98,13 @@ void MidiServerApp::OnRegisterApp(BMessage* msg)
app_t* app = new app_t;
if (msg->FindMessenger("midi:messenger", &app->messenger) == B_OK)
{
if (SendAllEndpoints(app))
{
if (SendAllConnections(app))
{
if (msg->FindMessenger("midi:messenger", &app->messenger) == B_OK) {
if (SendAllEndpoints(app)) {
if (SendAllConnections(app)) {
BMessage reply;
reply.what = MSG_APP_REGISTERED;
if (SendNotification(app, &reply))
{
if (SendNotification(app, &reply)) {
apps.AddItem(app);
#ifdef DEBUG
@@ -135,68 +120,52 @@ void MidiServerApp::OnRegisterApp(BMessage* msg)
delete app;
}
//------------------------------------------------------------------------------
void MidiServerApp::OnCreateEndpoint(BMessage* msg)
void
MidiServerApp::OnCreateEndpoint(BMessage* msg)
{
TRACE(("MidiServerApp::OnCreateEndpoint"))
status_t err;
endpoint_t* endp = new endpoint_t;
endp->app = WhichApp(msg);
if (endp->app == NULL)
{
if (endp->app == NULL) {
err = B_ERROR;
}
else
{
} else {
err = B_BAD_VALUE;
if ((msg->FindBool("midi:consumer", &endp->consumer) == B_OK)
&& (msg->FindBool("midi:registered", &endp->registered) == B_OK)
&& (msg->FindString("midi:name", &endp->name) == B_OK)
&& (msg->FindMessage("midi:properties", &endp->properties) == B_OK))
{
if (endp->consumer)
{
if ((msg->FindInt32("midi:port", &endp->port) == B_OK)
&& (msg->FindInt64("midi:latency", &endp->latency) == B_OK))
{
if (msg->FindBool("midi:consumer", &endp->consumer) == B_OK
&& msg->FindBool("midi:registered", &endp->registered) == B_OK
&& msg->FindString("midi:name", &endp->name) == B_OK
&& msg->FindMessage("midi:properties", &endp->properties) == B_OK) {
if (endp->consumer) {
if (msg->FindInt32("midi:port", &endp->port) == B_OK
&& msg->FindInt64("midi:latency", &endp->latency) == B_OK)
err = B_OK;
}
}
else
{
} else
err = B_OK;
}
}
}
BMessage reply;
if (err == B_OK)
{
if (err == B_OK) {
endp->id = nextId++;
reply.AddInt32("midi:id", endp->id);
}
reply.AddInt32("midi:result", err);
if (SendReply(endp->app, msg, &reply) && (err == B_OK))
{
if (SendReply(endp->app, msg, &reply) && err == B_OK)
AddEndpoint(msg, endp);
}
else
{
delete endp;
}
}
//------------------------------------------------------------------------------
void MidiServerApp::OnDeleteEndpoint(BMessage* msg)
void
MidiServerApp::OnDeleteEndpoint(BMessage* msg)
{
TRACE(("MidiServerApp::OnDeleteEndpoint"))
@@ -206,19 +175,16 @@ void MidiServerApp::OnDeleteEndpoint(BMessage* msg)
// be destroyed no matter what.
app_t* app = WhichApp(msg);
if (app != NULL)
{
if (app != NULL) {
endpoint_t* endp = WhichEndpoint(msg, app);
if (endp != NULL)
{
RemoveEndpoint(app, endp);
}
}
}
//------------------------------------------------------------------------------
void MidiServerApp::OnPurgeEndpoint(BMessage* msg)
void
MidiServerApp::OnPurgeEndpoint(BMessage* msg)
{
TRACE(("MidiServerApp::OnPurgeEndpoint"))
@@ -228,23 +194,19 @@ void MidiServerApp::OnPurgeEndpoint(BMessage* msg)
// request really is the owner of the endpoint. (But we
// _do_ check that the message came from the server.)
if (!msg->IsSourceRemote())
{
if (!msg->IsSourceRemote()) {
int32 id;
if (msg->FindInt32("midi:id", &id) == B_OK)
{
if (msg->FindInt32("midi:id", &id) == B_OK) {
endpoint_t* endp = FindEndpoint(id);
if (endp != NULL)
{
RemoveEndpoint(NULL, endp);
}
}
}
}
//------------------------------------------------------------------------------
void MidiServerApp::OnChangeEndpoint(BMessage* msg)
void
MidiServerApp::OnChangeEndpoint(BMessage* msg)
{
TRACE(("MidiServerApp::OnChangeEndpoint"))
@@ -253,27 +215,19 @@ void MidiServerApp::OnChangeEndpoint(BMessage* msg)
app_t* app = WhichApp(msg);
if (app == NULL)
{
err = B_ERROR;
}
else
{
else {
endp = WhichEndpoint(msg, app);
if (endp == NULL)
{
err = B_BAD_VALUE;
}
else
{
err = B_OK;
}
}
BMessage reply;
reply.AddInt32("midi:result", err);
if (SendReply(app, msg, &reply) && (err == B_OK))
{
if (SendReply(app, msg, &reply) && err == B_OK) {
TRACE(("Endpoint %ld (%p) changed", endp->id, endp))
BMessage notify;
@@ -281,29 +235,25 @@ void MidiServerApp::OnChangeEndpoint(BMessage* msg)
notify.AddInt32("midi:id", endp->id);
bool registered;
if (msg->FindBool("midi:registered", &registered) == B_OK)
{
if (msg->FindBool("midi:registered", &registered) == B_OK) {
notify.AddBool("midi:registered", registered);
endp->registered = registered;
}
BString name;
if (msg->FindString("midi:name", &name) == B_OK)
{
if (msg->FindString("midi:name", &name) == B_OK) {
notify.AddString("midi:name", name);
endp->name = name;
}
BMessage properties;
if (msg->FindMessage("midi:properties", &properties) == B_OK)
{
if (msg->FindMessage("midi:properties", &properties) == B_OK) {
notify.AddMessage("midi:properties", &properties);
endp->properties = properties;
}
bigtime_t latency;
if (msg->FindInt64("midi:latency", &latency) == B_OK)
{
if (msg->FindInt64("midi:latency", &latency) == B_OK) {
notify.AddInt64("midi:latency", latency);
endp->latency = latency;
}
@@ -316,9 +266,9 @@ void MidiServerApp::OnChangeEndpoint(BMessage* msg)
}
}
//------------------------------------------------------------------------------
void MidiServerApp::OnConnectDisconnect(BMessage* msg)
void
MidiServerApp::OnConnectDisconnect(BMessage* msg)
{
TRACE(("MidiServerApp::OnConnectDisconnect"))
@@ -330,36 +280,26 @@ void MidiServerApp::OnConnectDisconnect(BMessage* msg)
app_t* app = WhichApp(msg);
if (app == NULL)
{
err = B_ERROR;
}
else
{
else {
err = B_BAD_VALUE;
int32 prodId, consId;
if ((msg->FindInt32("midi:producer", &prodId) == B_OK)
&& (msg->FindInt32("midi:consumer", &consId) == B_OK))
{
if (msg->FindInt32("midi:producer", &prodId) == B_OK
&& msg->FindInt32("midi:consumer", &consId) == B_OK) {
prod = FindEndpoint(prodId);
cons = FindEndpoint(consId);
if ((prod != NULL) && !prod->consumer)
{
if ((cons != NULL) && cons->consumer)
{
if (prod != NULL && !prod->consumer) {
if (cons != NULL && cons->consumer) {
// It is an error to connect two endpoints that
// are already connected, or to disconnect two
// endpoints that are not connected at all.
if (mustConnect == prod->connections.HasItem(cons))
{
err = B_ERROR;
}
else
{
err = B_OK;
}
}
}
}
@@ -368,16 +308,12 @@ void MidiServerApp::OnConnectDisconnect(BMessage* msg)
BMessage reply;
reply.AddInt32("midi:result", err);
if (SendReply(app, msg, &reply) && (err == B_OK))
{
if (mustConnect)
{
if (SendReply(app, msg, &reply) && err == B_OK) {
if (mustConnect) {
TRACE(("Connection made: %ld ---> %ld", prod->id, cons->id))
prod->connections.AddItem(cons);
}
else
{
} else {
TRACE(("Connection broken: %ld -X-> %ld", prod->id, cons->id))
prod->connections.RemoveItem(cons);
@@ -393,56 +329,54 @@ void MidiServerApp::OnConnectDisconnect(BMessage* msg)
}
}
//------------------------------------------------------------------------------
bool MidiServerApp::SendAllEndpoints(app_t* app)
bool
MidiServerApp::SendAllEndpoints(app_t* app)
{
ASSERT(app != NULL)
BMessage notify;
for (int32 t = 0; t < CountEndpoints(); ++t)
{
for (int32 t = 0; t < CountEndpoints(); ++t) {
endpoint_t* endp = EndpointAt(t);
MakeCreatedNotification(&notify, endp);
if (!SendNotification(app, &notify)) { return false; }
if (!SendNotification(app, &notify))
return false;
}
return true;
}
//------------------------------------------------------------------------------
bool MidiServerApp::SendAllConnections(app_t* app)
bool
MidiServerApp::SendAllConnections(app_t* app)
{
ASSERT(app != NULL)
BMessage notify;
for (int32 t = 0; t < CountEndpoints(); ++t)
{
for (int32 t = 0; t < CountEndpoints(); ++t) {
endpoint_t* prod = EndpointAt(t);
if (!prod->consumer)
{
for (int32 k = 0; k < CountConnections(prod); ++k)
{
if (!prod->consumer) {
for (int32 k = 0; k < CountConnections(prod); ++k) {
endpoint_t* cons = ConnectionAt(prod, k);
MakeConnectedNotification(&notify, prod, cons, true);
if (!SendNotification(app, &notify)) { return false; }
}
if (!SendNotification(app, &notify))
return false;
}
}
}
return true;
}
//------------------------------------------------------------------------------
void MidiServerApp::AddEndpoint(BMessage* msg, endpoint_t* endp)
void
MidiServerApp::AddEndpoint(BMessage* msg, endpoint_t* endp)
{
ASSERT(msg != NULL)
ASSERT(endp != NULL)
@@ -461,9 +395,9 @@ void MidiServerApp::AddEndpoint(BMessage* msg, endpoint_t* endp)
#endif
}
//------------------------------------------------------------------------------
void MidiServerApp::RemoveEndpoint(app_t* app, endpoint_t* endp)
void
MidiServerApp::RemoveEndpoint(app_t* app, endpoint_t* endp)
{
ASSERT(endp != NULL)
ASSERT(endpoints.HasItem(endp))
@@ -473,9 +407,7 @@ void MidiServerApp::RemoveEndpoint(app_t* app, endpoint_t* endp)
endpoints.RemoveItem(endp);
if (endp->consumer)
{
DisconnectDeadConsumer(endp);
}
BMessage notify;
notify.what = MSG_ENDPOINT_DELETED;
@@ -489,26 +421,23 @@ void MidiServerApp::RemoveEndpoint(app_t* app, endpoint_t* endp)
#endif
}
//------------------------------------------------------------------------------
void MidiServerApp::DisconnectDeadConsumer(endpoint_t* cons)
void
MidiServerApp::DisconnectDeadConsumer(endpoint_t* cons)
{
ASSERT(cons != NULL)
ASSERT(cons->consumer)
for (int32 t = 0; t < CountEndpoints(); ++t)
{
for (int32 t = 0; t < CountEndpoints(); ++t) {
endpoint_t* prod = EndpointAt(t);
if (!prod->consumer)
{
prod->connections.RemoveItem(cons);
}
}
}
//------------------------------------------------------------------------------
void MidiServerApp::MakeCreatedNotification(BMessage* msg, endpoint_t* endp)
void
MidiServerApp::MakeCreatedNotification(BMessage* msg, endpoint_t* endp)
{
ASSERT(msg != NULL)
ASSERT(endp != NULL)
@@ -521,17 +450,16 @@ void MidiServerApp::MakeCreatedNotification(BMessage* msg, endpoint_t* endp)
msg->AddString("midi:name", endp->name);
msg->AddMessage("midi:properties", &endp->properties);
if (endp->consumer)
{
if (endp->consumer) {
msg->AddInt32("midi:port", endp->port);
msg->AddInt64("midi:latency", endp->latency);
}
}
//------------------------------------------------------------------------------
void MidiServerApp::MakeConnectedNotification(
BMessage* msg, endpoint_t* prod, endpoint_t* cons, bool mustConnect)
void
MidiServerApp::MakeConnectedNotification(BMessage* msg, endpoint_t* prod,
endpoint_t* cons, bool mustConnect)
{
ASSERT(msg != NULL)
ASSERT(prod != NULL)
@@ -542,33 +470,26 @@ void MidiServerApp::MakeConnectedNotification(
msg->MakeEmpty();
if (mustConnect)
{
msg->what = MSG_ENDPOINTS_CONNECTED;
}
else
{
msg->what = MSG_ENDPOINTS_DISCONNECTED;
}
msg->AddInt32("midi:producer", prod->id);
msg->AddInt32("midi:consumer", cons->id);
}
//------------------------------------------------------------------------------
app_t* MidiServerApp::WhichApp(BMessage* msg)
app_t*
MidiServerApp::WhichApp(BMessage* msg)
{
ASSERT(msg != NULL)
BMessenger retadr = msg->ReturnAddress();
for (int32 t = 0; t < CountApps(); ++t)
{
for (int32 t = 0; t < CountApps(); ++t) {
app_t* app = AppAt(t);
if (app->messenger.Team() == retadr.Team())
{
return app;
}
}
TRACE(("Application %ld is not registered", retadr.Team()))
@@ -576,63 +497,51 @@ app_t* MidiServerApp::WhichApp(BMessage* msg)
return NULL;
}
//------------------------------------------------------------------------------
endpoint_t* MidiServerApp::WhichEndpoint(BMessage* msg, app_t* app)
endpoint_t*
MidiServerApp::WhichEndpoint(BMessage* msg, app_t* app)
{
ASSERT(msg != NULL)
ASSERT(app != NULL)
int32 id;
if (msg->FindInt32("midi:id", &id) == B_OK)
{
if (msg->FindInt32("midi:id", &id) == B_OK) {
endpoint_t* endp = FindEndpoint(id);
if ((endp != NULL) && (endp->app == app))
{
if (endp != NULL && endp->app == app)
return endp;
}
}
TRACE(("Endpoint not found or wrong app"))
return NULL;
}
//------------------------------------------------------------------------------
endpoint_t* MidiServerApp::FindEndpoint(int32 id)
endpoint_t*
MidiServerApp::FindEndpoint(int32 id)
{
if (id > 0)
{
for (int32 t = 0; t < CountEndpoints(); ++t)
{
if (id > 0) {
for (int32 t = 0; t < CountEndpoints(); ++t) {
endpoint_t* endp = EndpointAt(t);
if (endp->id == id)
{
return endp;
}
}
}
TRACE(("Endpoint %ld not found", id))
return NULL;
}
//------------------------------------------------------------------------------
void MidiServerApp::NotifyAll(BMessage* msg, app_t* except)
void
MidiServerApp::NotifyAll(BMessage* msg, app_t* except)
{
ASSERT(msg != NULL)
for (int32 t = CountApps() - 1; t >= 0; --t)
{
for (int32 t = CountApps() - 1; t >= 0; --t) {
app_t* app = AppAt(t);
if (app != except)
{
if (!SendNotification(app, msg))
{
delete (app_t*) apps.RemoveItem(t);
if (app != except) {
if (!SendNotification(app, msg)) {
delete (app_t*)apps.RemoveItem(t);
#ifdef DEBUG
DumpApps();
@@ -642,9 +551,9 @@ void MidiServerApp::NotifyAll(BMessage* msg, app_t* except)
}
}
//------------------------------------------------------------------------------
bool MidiServerApp::SendNotification(app_t* app, BMessage* msg)
bool
MidiServerApp::SendNotification(app_t* app, BMessage* msg)
{
ASSERT(app != NULL)
ASSERT(msg != NULL)
@@ -652,24 +561,21 @@ bool MidiServerApp::SendNotification(app_t* app, BMessage* msg)
status_t err = app->messenger.SendMessage(msg, (BHandler*) NULL, TIMEOUT);
if (err != B_OK)
{
DeliveryError(app);
}
return (err == B_OK);
return err == B_OK;
}
//------------------------------------------------------------------------------
bool MidiServerApp::SendReply(app_t* app, BMessage* msg, BMessage* reply)
bool
MidiServerApp::SendReply(app_t* app, BMessage* msg, BMessage* reply)
{
ASSERT(msg != NULL)
ASSERT(reply != NULL)
status_t err = msg->SendReply(reply, (BHandler*) NULL, TIMEOUT);
if ((err != B_OK) && (app != NULL))
{
if (err != B_OK && app != NULL) {
DeliveryError(app);
apps.RemoveItem(app);
delete app;
@@ -679,12 +585,12 @@ bool MidiServerApp::SendReply(app_t* app, BMessage* msg, BMessage* reply)
#endif
}
return (err == B_OK);
return err == B_OK;
}
//------------------------------------------------------------------------------
void MidiServerApp::DeliveryError(app_t* app)
void
MidiServerApp::DeliveryError(app_t* app)
{
ASSERT(app != NULL)
@@ -701,11 +607,9 @@ void MidiServerApp::DeliveryError(app_t* app)
BMessage msg;
for (int32 t = 0; t < CountEndpoints(); ++t)
{
for (int32 t = 0; t < CountEndpoints(); ++t) {
endpoint_t* endp = EndpointAt(t);
if (endp->app == app)
{
if (endp->app == app) {
msg.MakeEmpty();
msg.what = MSG_PURGE_ENDPOINT;
msg.AddInt32("midi:id", endp->id);
@@ -718,50 +622,49 @@ void MidiServerApp::DeliveryError(app_t* app)
// situation is so unlikely, I decided to simply
// forget about the whole "purge" message then.
if (be_app_messenger.SendMessage(
&msg, (BHandler*) NULL, TIMEOUT) != B_OK)
{
if (be_app_messenger.SendMessage(&msg, (BHandler*)NULL,
TIMEOUT) != B_OK) {
WARN("Could not deliver purge message")
}
}
}
}
//------------------------------------------------------------------------------
int32 MidiServerApp::CountApps()
int32
MidiServerApp::CountApps()
{
return apps.CountItems();
}
//------------------------------------------------------------------------------
app_t* MidiServerApp::AppAt(int32 index)
app_t*
MidiServerApp::AppAt(int32 index)
{
ASSERT(index >= 0 && index < CountApps())
return (app_t*) apps.ItemAt(index);
return (app_t*)apps.ItemAt(index);
}
//------------------------------------------------------------------------------
int32 MidiServerApp::CountEndpoints()
int32
MidiServerApp::CountEndpoints()
{
return endpoints.CountItems();
}
//------------------------------------------------------------------------------
endpoint_t* MidiServerApp::EndpointAt(int32 index)
endpoint_t*
MidiServerApp::EndpointAt(int32 index)
{
ASSERT(index >= 0 && index < CountEndpoints())
return (endpoint_t*) endpoints.ItemAt(index);
return (endpoint_t*)endpoints.ItemAt(index);
}
//------------------------------------------------------------------------------
int32 MidiServerApp::CountConnections(endpoint_t* prod)
int32
MidiServerApp::CountConnections(endpoint_t* prod)
{
ASSERT(prod != NULL)
ASSERT(!prod->consumer)
@@ -769,26 +672,25 @@ int32 MidiServerApp::CountConnections(endpoint_t* prod)
return prod->connections.CountItems();
}
//------------------------------------------------------------------------------
endpoint_t* MidiServerApp::ConnectionAt(endpoint_t* prod, int32 index)
endpoint_t*
MidiServerApp::ConnectionAt(endpoint_t* prod, int32 index)
{
ASSERT(prod != NULL)
ASSERT(!prod->consumer)
ASSERT(index >= 0 && index < CountConnections(prod))
return (endpoint_t*) prod->connections.ItemAt(index);
return (endpoint_t*)prod->connections.ItemAt(index);
}
//------------------------------------------------------------------------------
#ifdef DEBUG
void MidiServerApp::DumpApps()
void
MidiServerApp::DumpApps()
{
printf("*** START DumpApps\n");
for (int32 t = 0; t < CountApps(); ++t)
{
for (int32 t = 0; t < CountApps(); ++t) {
app_t* app = AppAt(t);
printf("\tapp %ld (%p): team %ld\n", t, app, app->messenger.Team());
@@ -798,36 +700,29 @@ void MidiServerApp::DumpApps()
}
#endif
//------------------------------------------------------------------------------
#ifdef DEBUG
void MidiServerApp::DumpEndpoints()
void
MidiServerApp::DumpEndpoints()
{
printf("*** START DumpEndpoints\n");
for (int32 t = 0; t < CountEndpoints(); ++t)
{
for (int32 t = 0; t < CountEndpoints(); ++t) {
endpoint_t* endp = EndpointAt(t);
printf("\tendpoint %ld (%p):\n", t, endp);
printf("\t\tid %ld, name '%s', %s, %s, app %p\n",
endp->id, endp->name.String(),
endp->consumer ? "consumer" : "producer",
endp->registered ? "registered" : "unregistered",
endp->app);
printf("\t\tproperties: "); endp->properties.PrintToStream();
if (endp->consumer)
{
printf("\t\tport %ld, latency %Ld\n", endp->port, endp->latency);
}
else
{
else {
printf("\t\tconnections:\n");
for (int32 k = 0; k < CountConnections(endp); ++k)
{
for (int32 k = 0; k < CountConnections(endp); ++k) {
endpoint_t* cons = ConnectionAt(endp, k);
printf("\t\t\tid %ld (%p)\n", cons->id, cons);
}
@@ -838,13 +733,15 @@ void MidiServerApp::DumpEndpoints()
}
#endif
//------------------------------------------------------------------------------
int main()
// #pragma mark -
int
main()
{
MidiServerApp app;
app.Run();
return 0;
}
//------------------------------------------------------------------------------
+60 -62
View File
@@ -1,76 +1,19 @@
resource app_signature "application/x-vnd.haiku.midi-server";
resource app_signature "application/x-vnd.Haiku-midi_server";
resource app_flags B_SINGLE_LAUNCH | B_BACKGROUND_APP;
resource app_version
{
resource app_version {
major = 1,
middle = 0,
minor = 0,
variety = B_APPV_ALPHA,
internal = 0,
short_info = "midi_server",
long_info = "Haiku midi_server"
long_info = "midi_server ©2002-2006 Haiku"
};
resource(10, "bus_large") #'ICON' array
{
$"FFFFFFFFFFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFF0000000000000000000000000000FFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFF00000000000A0A0A0A0A0A0A0A0000000000FFFFFFFFFFFFFF"
$"FFFFFFFFFFFF000000000A0A0A0A0A0A0A0A0A0A0A0A00000000FFFFFFFFFFFF"
$"FFFFFFFFFF0000000A0A0A0A0A0A0A00000A0A0A0A0A0A0A000000FFFFFFFFFF"
$"FFFFFFFF0000000A0A0A0A0A0A0A000000000A0A0A0A0A0A0A000000FFFFFFFF"
$"FFFFFF0000000C0C0C0C0C0C0C0C000000000C0C0C0C0C0C0C0C000000FFFFFF"
$"FFFF0000000C0C0C00000C0C0C0C0C00000C0C0C0C0C00000C0C0C000000FFFF"
$"FFFF00000C0C0C000000000C0C0C0C0C0C0C0C0C0C000000000C0C0C0000FFFF"
$"FF0000000C0C0C000000000C0C0C0C0C0C0C0C0C0C000000000C0C0C000000FF"
$"FF00000E0E0E0E0E00000E0E0E0E0E0E0E0E0E0E0E0E00000E0E0E0E0E0000FF"
$"FF00000E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0000FF"
$"00000E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0000"
$"00000E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0000"
$"0000101010000010101010101010101010101010101010101000001010100000"
$"0000101000000000101010101010101010101010101010100000000010100000"
$"0000101000000000101010101010101010101010101010100000000010100000"
$"0000101010000010101010101010101010101010101010101000001010100000"
$"0000121212121212121212121212121212121212121212121212121212120000"
$"0000121212121212121212121212121212121212121212121212121212120000"
$"FF000012121212121212121212121212121212121212121212121212120000FF"
$"FF000012121212121212121212121212121212121212121212121212120000FF"
$"FF000000141414141414141414141414141414141414141414141414000000FF"
$"FFFF00001414141414141414141414141414141414141414141414140000FFFF"
$"FFFF00000014141414141414141414141414141414141414141414000000FFFF"
$"FFFFFF0000001414141414141414141414141414141414141414000000FFFFFF"
$"FFFFFFFF000000161616161616161616161616161616161616000000FFFFFFFF"
$"FFFFFFFFFF00000016161616161616161616161616161616000000FFFFFFFFFF"
$"FFFFFFFFFFFF0000000016161616161616161616161600000000FFFFFFFFFFFF"
$"FFFFFFFFFFFFFF000000000016161616161616160000000000FFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFF0000000000000000000000000000FFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFFFFFFFFFF"
};
resource(11, "bus_small") #'MICN' array
{
$"FFFFFFFFFFFF00000000FFFFFFFFFFFF"
$"FFFFFFFF00000A0A0A0A0000FFFFFFFF"
$"FFFFFF000A0A0A00000A0A0A00FFFFFF"
$"FFFF000C0C0C0C00000C0C0C0C00FFFF"
$"FF000C00000C0C0C0C0C0C00000C00FF"
$"FF000E00000E0E0E0E0E0E00000E00FF"
$"000E0E0E0E0E0E0E0E0E0E0E0E0E0E00"
$"00100000101010101010101000001000"
$"00100000101010101010101000001000"
$"00121212121212121212121212121200"
$"FF0012121212121212121212121200FF"
$"FF0014141414141414141414141400FF"
$"FFFF001414141414141414141400FFFF"
$"FFFFFF00161616161616161600FFFFFF"
$"FFFFFFFF0000161616160000FFFFFFFF"
$"FFFFFFFFFFFF00000000FFFFFFFFFFFF"
};
resource large_icon array {
resource large_icon {
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
@@ -105,7 +48,7 @@ resource large_icon array {
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
};
resource mini_icon array {
resource mini_icon {
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFF04FFFFFFFF0000FFFFFF"
@@ -123,3 +66,58 @@ resource mini_icon array {
$"FFFF0000000000000011FFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
};
resource(10, "bus_large") #'ICON' array {
$"FFFFFFFFFFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFF0000000000000000000000000000FFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFF00000000000A0A0A0A0A0A0A0A0000000000FFFFFFFFFFFFFF"
$"FFFFFFFFFFFF000000000A0A0A0A0A0A0A0A0A0A0A0A00000000FFFFFFFFFFFF"
$"FFFFFFFFFF0000000A0A0A0A0A0A0A00000A0A0A0A0A0A0A000000FFFFFFFFFF"
$"FFFFFFFF0000000A0A0A0A0A0A0A000000000A0A0A0A0A0A0A000000FFFFFFFF"
$"FFFFFF0000000C0C0C0C0C0C0C0C000000000C0C0C0C0C0C0C0C000000FFFFFF"
$"FFFF0000000C0C0C00000C0C0C0C0C00000C0C0C0C0C00000C0C0C000000FFFF"
$"FFFF00000C0C0C000000000C0C0C0C0C0C0C0C0C0C000000000C0C0C0000FFFF"
$"FF0000000C0C0C000000000C0C0C0C0C0C0C0C0C0C000000000C0C0C000000FF"
$"FF00000E0E0E0E0E00000E0E0E0E0E0E0E0E0E0E0E0E00000E0E0E0E0E0000FF"
$"FF00000E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0000FF"
$"00000E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0000"
$"00000E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0000"
$"0000101010000010101010101010101010101010101010101000001010100000"
$"0000101000000000101010101010101010101010101010100000000010100000"
$"0000101000000000101010101010101010101010101010100000000010100000"
$"0000101010000010101010101010101010101010101010101000001010100000"
$"0000121212121212121212121212121212121212121212121212121212120000"
$"0000121212121212121212121212121212121212121212121212121212120000"
$"FF000012121212121212121212121212121212121212121212121212120000FF"
$"FF000012121212121212121212121212121212121212121212121212120000FF"
$"FF000000141414141414141414141414141414141414141414141414000000FF"
$"FFFF00001414141414141414141414141414141414141414141414140000FFFF"
$"FFFF00000014141414141414141414141414141414141414141414000000FFFF"
$"FFFFFF0000001414141414141414141414141414141414141414000000FFFFFF"
$"FFFFFFFF000000161616161616161616161616161616161616000000FFFFFFFF"
$"FFFFFFFFFF00000016161616161616161616161616161616000000FFFFFFFFFF"
$"FFFFFFFFFFFF0000000016161616161616161616161600000000FFFFFFFFFFFF"
$"FFFFFFFFFFFFFF000000000016161616161616160000000000FFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFF0000000000000000000000000000FFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFFFFFFFFFF"
};
resource(11, "bus_small") #'MICN' array {
$"FFFFFFFFFFFF00000000FFFFFFFFFFFF"
$"FFFFFFFF00000A0A0A0A0000FFFFFFFF"
$"FFFFFF000A0A0A00000A0A0A00FFFFFF"
$"FFFF000C0C0C0C00000C0C0C0C00FFFF"
$"FF000C00000C0C0C0C0C0C00000C00FF"
$"FF000E00000E0E0E0E0E0E00000E00FF"
$"000E0E0E0E0E0E0E0E0E0E0E0E0E0E00"
$"00100000101010101010101000001000"
$"00100000101010101010101000001000"
$"00121212121212121212121212121200"
$"FF0012121212121212121212121200FF"
$"FF0014141414141414141414141400FF"
$"FFFF001414141414141414141400FFFF"
$"FFFFFF00161616161616161600FFFFFF"
$"FFFFFFFF0000161616160000FFFFFFFF"
$"FFFFFFFFFFFF00000000FFFFFFFFFFFF"
};
+1 -1
View File
@@ -1,12 +1,12 @@
SubDir HAIKU_TOP src servers net ;
SetSubDirSupportedPlatformsBeOSCompatible ;
UsePrivateHeaders net ;
#UseHeaders [ FDirName $(HAIKU_TOP) src add-ons kernel network ppp shared libppp headers ] ;
#UseHeaders [ FDirName $(HAIKU_TOP) src add-ons kernel network ppp shared libkernelppp headers ] ;
#UseHeaders [ FDirName $(HAIKU_TOP) src tests kits net DialUpPreflet ] ;
AddResources net_server : net_server.rdef ;
Server net_server :
NetServer.cpp
+16
View File
@@ -0,0 +1,16 @@
resource app_signature "application/x-vnd.Haiku-net_server";
resource app_flags B_EXCLUSIVE_LAUNCH | B_BACKGROUND_APP;
resource app_version {
major = 1,
middle = 0,
minor = 0,
variety = B_APPV_DEVELOPMENT,
internal = 1,
short_info = "net_server",
long_info = "net_server ©2006 Haiku Inc."
};
+1 -1
View File
@@ -11,7 +11,7 @@ UsePrivateHeaders shared interface print ;
AddResources
print_server
:
PrintServer.FileTypes.rdef
print_server.rdef
;
Server
@@ -1,34 +1,21 @@
resource(1, "BEOS:APP_FLAGS") #'APPF' $"04000000";
resource app_signature "application/x-vnd.Be-PSRV";
resource(1, "BEOS:APP_VERSION") #'APPV' array
{
$"010000000000000000000000000000000100000052312E302E30643100000000"
$"0000000000000000000000000000000000000000000000000000000000000000"
$"00000000000000000000000000000000000000004F70656E42654F5320312E30"
$"2E30643120C2A932303031204F70656E42654F532050726F6A6563742E000000"
$"0000000000000000000000000000000000000000000000000000000000000000"
$"0000000000000000000000000000000000000000000000000000000000000000"
$"0000000000000000000000000000000000000000000000000000000000000000"
$"0000000000000000000000000000000000000000000000000000000000000000"
$"0000000000000000000000000000000000000000000000000000000000000000"
$"0000000000000000000000000000000000000000000000000000000000000000"
$"0000000000000000000000000000000000000000010000000000000000000000"
$"000000000100000052312E302E30643100000000000000000000000000000000"
$"0000000000000000000000000000000000000000000000000000000000000000"
$"00000000000000004F70656E42654F5320312E302E30643120C2A93230303120"
$"4F70656E42654F532050726F6A6563742E090000000000000000000000000000"
$"0000000000000000000000000000000000000000000000000000000000000000"
$"0000000000000000000000000000000000000000000000000000000000000000"
$"0000000000000000000000000000000000000000000000000000000000000000"
$"0000000000000000000000000000000000000000000000000000000000000000"
$"0000000000000000000000000000000000000000000000000000000000000000"
$"0000000000000000000000000000000000000000000000000000000000000000"
$"0000000000000000"
resource app_flags B_EXCLUSIVE_LAUNCH | B_BACKGROUND_APP;
resource app_version {
major = 1,
middle = 0,
minor = 0,
variety = B_APPV_BETA,
internal = 0,
short_info = "print_server",
long_info = "print_server ©2001-2006 Haiku"
};
resource(101, "BEOS:L:STD_ICON") #'ICON' array
{
resource large_icon {
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
@@ -63,8 +50,7 @@ resource(101, "BEOS:L:STD_ICON") #'ICON' array
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
};
resource(101, "BEOS:M:STD_ICON") #'MICN' array
{
resource mini_icon {
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFF0000FFFFFF"
@@ -83,12 +69,7 @@ resource(101, "BEOS:M:STD_ICON") #'MICN' array
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
};
resource(1, "BEOS:APP_SIG") #'MIMS' "application/x-vnd.Be-PSRV";
resource(1, "BEOS:FILE_TYPES") message;
resource(0, "JOB_SETUP_OFF") #'bits' array
{
resource(0, "JOB_SETUP_OFF") #'bits' array {
$"62697473000000000000000041F8000041F80000000000800000200800001000"
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
@@ -220,8 +201,7 @@ resource(0, "JOB_SETUP_OFF") #'bits' array
$"000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF"
};
resource(2, "JOB_SETUP_ON") #'bits' array
{
resource(2, "JOB_SETUP_ON") #'bits' array {
$"62697473000000000000000041F8000041F80000000000800000200800001000"
$"000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF"
$"000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF"
@@ -353,8 +333,7 @@ resource(2, "JOB_SETUP_ON") #'bits' array
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
};
resource(4, "PAGE_SETUP_OFF") #'bits' array
{
resource(4, "PAGE_SETUP_OFF") #'bits' array {
$"62697473000000000000000041F8000041F80000000000800000200800001000"
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
@@ -486,8 +465,7 @@ resource(4, "PAGE_SETUP_OFF") #'bits' array
$"000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF"
};
resource(5, "PAGE_SETUP_ON") #'bits' array
{
resource(5, "PAGE_SETUP_ON") #'bits' array {
$"62697473000000000000000041F8000041F80000000000800000200800001000"
$"000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF"
$"000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF"
+5 -9
View File
@@ -1,9 +1,8 @@
/*
** registrar.rdef
**
*/
* registrar.rdef
*/
resource app_signature "application/x-vnd.haiku-registrar";
resource app_signature "application/x-vnd.Haiku-Registrar";
resource app_flags B_EXCLUSIVE_LAUNCH | B_BACKGROUND_APP;
/* the registrar's application flags are actually
@@ -16,14 +15,11 @@ resource app_version {
middle = 0,
minor = 0,
/* 0 = development 1 = alpha 2 = beta
3 = gamma 4 = golden master 5 = final */
variety = 1,
variety = B_APPV_ALPHA,
internal = 0,
short_info = "registrar",
long_info = "registrar, Copyright 2005, Haiku Inc."
long_info = "registrar ©2005-2006 Haiku Inc."
};
resource large_icon array {
+2 -5
View File
@@ -8,14 +8,11 @@ resource app_version {
middle = 0,
minor = 0,
/* 0 = development 1 = alpha 2 = beta
3 = gamma 4 = golden master 5 = final */
variety = 0,
variety = B_APPV_ALPHA,
internal = 1,
short_info = "syslog_daemon",
long_info = "syslog_daemon, Copyright 2003-2006 Haiku Inc."
long_info = "syslog_daemon ©2003-2006 Haiku Inc."
};
resource large_icon array {