00001 /* 00002 * Copyright (C) 2003-2007 Funambol 00003 * 00004 * This program is free software; you can redistribute it and/or modify 00005 * it under the terms of the GNU General Public License as published by 00006 * the Free Software Foundation; either version 2 of the License, or 00007 * (at your option) any later version. 00008 * 00009 * This program is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 * GNU General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU General Public License 00015 * along with this program; if not, write to the Free Software 00016 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00017 */ 00018 00019 00020 #ifndef INCL_NEXT_NONCE 00021 #define INCL_NEXT_NONCE 00022 00024 #include "base/fscapi.h" 00025 #include "base/util/utils.h" 00026 #include "base/base64.h" 00027 00028 00029 class NextNonce { 00030 00031 // ------------------------------------------------------------ Private data 00032 private: 00033 char* wvalue; 00034 char* value; 00035 long size; 00036 void initialize(); 00037 // ---------------------------------------------------------- Protected data 00038 public: 00039 00040 NextNonce(); 00041 NextNonce(void* value, unsigned long size); 00042 00043 /* 00044 * For a NextNonce starting from a b64 string 00045 */ 00046 NextNonce(char* b64value); 00047 00048 ~NextNonce(); 00049 00050 void* getValue(); 00051 long getValueSize(); 00052 00053 void* setValue(void* argValue, unsigned long size); 00054 00055 void setWValue(const char* wnonce); 00056 00057 const char* getValueAsBase64(); 00058 00059 NextNonce* clone(); 00060 }; 00061 00063 #endif