IArchString Class Reference

Interface for architecture dependent string operations. More...

#include <IArchString.h>

Inherits IInterface.

Inherited by CArch, CArchStringUnix, and CArchStringWindows.

Collaboration diagram for IArchString:
Collaboration graph
[legend]

List of all members.

Public Types

enum  EWideCharEncoding { kUCS2, kUCS4, kUTF16, kUTF32 }
 

Wide character encodings.

More...

Public Member Functions

manipulators



virtual int vsnprintf (char *str, int size, const char *fmt, va_list ap)=0
 printf() to limited size buffer with va_list
virtual int convStringMBToWC (wchar_t *, const char *, UInt32 n, bool *errors)=0
 Convert multibyte string to wide character string.
virtual int convStringWCToMB (char *, const wchar_t *, UInt32 n, bool *errors)=0
 Convert wide character string to multibyte string.
virtual EWideCharEncoding getWideCharEncoding ()=0
 Return the architecture's native wide character encoding.

Detailed Description

Interface for architecture dependent string operations.

This interface defines the string operations required by synergy. Each architecture must implement this interface.

Definition at line 27 of file IArchString.h.


Member Enumeration Documentation

Wide character encodings.

The known wide character encodings

Enumerator:
kUCS2 

The UCS-2 encoding.

kUCS4 

The UCS-4 encoding.

kUTF16 

The UTF-16 encoding.

kUTF32 

The UTF-32 encoding.

Definition at line 33 of file IArchString.h.


Member Function Documentation

virtual int IArchString::vsnprintf ( char *  str,
int  size,
const char *  fmt,
va_list  ap 
) [pure virtual]

printf() to limited size buffer with va_list

This method is equivalent to vsprintf() except it will not write more than n bytes to the buffer, returning -1 if the output was truncated and the number of bytes written not including the trailing NUL otherwise.

Implemented in CArch, CArchStringUnix, and CArchStringWindows.

Referenced by CArch::vsnprintf().


The documentation for this class was generated from the following file:

Generated on 12 Nov 2010 for synergy-plus by  doxygen 1.6.1