|
reSIProcate/stack
9694
|
00001 #if !defined(RESIP_METHODTYPES_HXX) 00002 #define RESIP_METHODTYPES_HXX 00003 00004 #define defineMethod(_enum, _name, _rfc) _enum 00005 namespace resip 00006 { 00007 00008 class Data; 00009 00010 #ifdef __BORLANDC__ 00011 #undef MESSAGE 00012 #endif 00013 00014 typedef enum 00015 { 00016 defineMethod(UNKNOWN, "UNKNOWN", "NA"), 00017 defineMethod(ACK, "ACK", " RFC 3261"), 00018 defineMethod(BYE, "BYE", "RFC 3261"), 00019 defineMethod(CANCEL, "CANCEL", "RFC 3261"), 00020 defineMethod(INVITE, "INVITE", "RFC 3261"), 00021 defineMethod(NOTIFY, "NOTIFY", "RFC 3265"), 00022 defineMethod(OPTIONS, "OPTIONS", "RFC 3261"), 00023 defineMethod(REFER, "REFER", "RFC 3515"), 00024 defineMethod(REGISTER, "REGISTER", "RFC 3261"), 00025 defineMethod(SUBSCRIBE, "SUBSCRIBE", "RFC 3265"), 00026 defineMethod(RESPONSE, "RESPONSE", "RFC ????"), 00027 defineMethod(MESSAGE, "MESSAGE", "RFC ????"), 00028 //_MESSAGE, 00029 defineMethod(INFO, "INFO", "RFC 2976"), 00030 defineMethod(PRACK, "PRACK", "RFC 3262"), 00031 defineMethod(PUBLISH, "PUBLISH", "RFC draft"), 00032 defineMethod(SERVICE, "SERVICE", "!RFC"), 00033 defineMethod(UPDATE, "UPDATE", "RFC 3311"), 00034 MAX_METHODS 00035 } MethodTypes; 00036 00037 // extern Data MethodNames[]; // !ah! Do not touch. want a name, call getMethodName() 00038 00039 MethodTypes 00040 getMethodType(const Data& name); 00041 00042 MethodTypes 00043 getMethodType(const char* name, int len); 00044 00045 // TODO -- !dcm! -- fix to return unknown method as a string 00046 const Data& 00047 getMethodName(MethodTypes t); 00048 00049 } 00050 00051 #undef defineMethod 00052 00053 #endif 00054 00055 /* ==================================================================== 00056 * The Vovida Software License, Version 1.0 00057 * 00058 * Copyright (c) 2000 Vovida Networks, Inc. All rights reserved. 00059 * 00060 * Redistribution and use in source and binary forms, with or without 00061 * modification, are permitted provided that the following conditions 00062 * are met: 00063 * 00064 * 1. Redistributions of source code must retain the above copyright 00065 * notice, this list of conditions and the following disclaimer. 00066 * 00067 * 2. Redistributions in binary form must reproduce the above copyright 00068 * notice, this list of conditions and the following disclaimer in 00069 * the documentation and/or other materials provided with the 00070 * distribution. 00071 * 00072 * 3. The names "VOCAL", "Vovida Open Communication Application Library", 00073 * and "Vovida Open Communication Application Library (VOCAL)" must 00074 * not be used to endorse or promote products derived from this 00075 * software without prior written permission. For written 00076 * permission, please contact vocal@vovida.org. 00077 * 00078 * 4. Products derived from this software may not be called "VOCAL", nor 00079 * may "VOCAL" appear in their name, without prior written 00080 * permission of Vovida Networks, Inc. 00081 * 00082 * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED 00083 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 00084 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND 00085 * NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL VOVIDA 00086 * NETWORKS, INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT DAMAGES 00087 * IN EXCESS OF $1,000, NOR FOR ANY INDIRECT, INCIDENTAL, SPECIAL, 00088 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 00089 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 00090 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 00091 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 00092 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE 00093 * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 00094 * DAMAGE. 00095 * 00096 * ==================================================================== 00097 * 00098 * This software consists of voluntary contributions made by Vovida 00099 * Networks, Inc. and many individuals on behalf of Vovida Networks, 00100 * Inc. For more information on Vovida Networks, Inc., please see 00101 * <http://www.vovida.org/>. 00102 * 00103 */
1.7.5.1