IArchString.h

00001 /*
00002  * synergy -- mouse and keyboard sharing utility
00003  * Copyright (C) 2002 Chris Schoeneman
00004  * 
00005  * This package is free software; you can redistribute it and/or
00006  * modify it under the terms of the GNU General Public License
00007  * found in the file COPYING that should have accompanied this file.
00008  * 
00009  * This package 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 
00015 #ifndef IARCHSTRING_H
00016 #define IARCHSTRING_H
00017 
00018 #include "IInterface.h"
00019 #include "BasicTypes.h"
00020 #include <stdarg.h>
00021 
00023 
00027 class IArchString : public IInterface {
00028 public:
00030 
00033     enum EWideCharEncoding {
00034         kUCS2,      
00035         kUCS4,      
00036         kUTF16,     
00037         kUTF32      
00038     };
00039 
00041 
00042 
00044 
00050     virtual int         vsnprintf(char* str,
00051                             int size, const char* fmt, va_list ap) = 0;
00052 
00054     virtual int         convStringMBToWC(wchar_t*,
00055                             const char*, UInt32 n, bool* errors) = 0;
00056 
00058     virtual int         convStringWCToMB(char*,
00059                             const wchar_t*, UInt32 n, bool* errors) = 0;
00060 
00062     virtual EWideCharEncoding
00063                         getWideCharEncoding() = 0;
00064 
00066 };
00067 
00068 #endif

Generated on Fri Nov 6 00:18:46 2009 for synergy-plus by  doxygen 1.4.7