00001 // RemoteMessage.h 00002 // 00003 // Copyright (c) 2004, Ingo Weinhold (bonefish@cs.tu-berlin.de) 00004 // 00005 // Permission is hereby granted, free of charge, to any person obtaining a 00006 // copy of this software and associated documentation files (the "Software"), 00007 // to deal in the Software without restriction, including without limitation 00008 // the rights to use, copy, modify, merge, publish, distribute, sublicense, 00009 // and/or sell copies of the Software, and to permit persons to whom the 00010 // Software is furnished to do so, subject to the following conditions: 00011 // 00012 // The above copyright notice and this permission notice shall be included in 00013 // all copies or substantial portions of the Software. 00014 // 00015 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 00016 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 00017 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 00018 // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 00019 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 00020 // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 00021 // DEALINGS IN THE SOFTWARE. 00022 // 00023 // Except as contained in this notice, the name of a copyright holder shall 00024 // not be used in advertising or otherwise to promote the sale, use or other 00025 // dealings in this Software without prior written authorization of the 00026 // copyright holder. 00027 00028 #ifndef REMOTE_MESSAGE_H 00029 #define REMOTE_MESSAGE_H 00030 00031 #include <RMessageBuild.h> 00032 00033 #include <OS.h> 00034 00035 class BMessage; 00036 00037 namespace RemoteMessage { 00038 00039 enum { 00040 RMESSAGE_DATA = 'RMda', 00041 RMESSAGE_DELIVERY_FAILED = 'RMdf', 00042 RMESSAGE_DELIVERY_TIMED_OUT = 'RMto', 00043 }; 00044 00045 extern _IMPEXP_RMESSAGE status_t SetData( 00046 BMessage* envelope, 00047 const void* data, 00048 size_t size, 00049 BMessage* parameters = NULL); 00050 00051 extern _IMPEXP_RMESSAGE status_t GetData( 00052 const BMessage* envelope, 00053 const void** data, 00054 size_t* size, 00055 BMessage* parameters = NULL, 00056 bool* hasParameters = NULL); 00057 00058 extern _IMPEXP_RMESSAGE status_t ReleaseData(const void* data, size_t size); 00059 }; 00060 00061 using RemoteMessage::RMESSAGE_DATA; 00062 using RemoteMessage::RMESSAGE_DELIVERY_FAILED; 00063 using RemoteMessage::RMESSAGE_DELIVERY_TIMED_OUT; 00064 00065 00066 #endif // REMOTE_MESSAGE_H