CVS: seamlessrdp/ClientDLL clipper.cpp,1.1,1.2 clipper.def,1.2,1.3 clipper.h,1.1,1.2 hash.cpp,1.1,1.2 hash.h,1.1,1.2 stdstring.h,1.1,1.2 tokenizer.cpp,1.1,1.2 tokenizer.h,1.1,1.2 windowdata.cpp,1.1,1.2 windowdata.h,1.1,1.2
Peter Åstrand <[email protected]>
| Newsgroups | gmane.network.rdesktop.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/rdesktop/seamlessrdp/ClientDLL
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13454/ClientDLL
Modified Files:
clipper.cpp clipper.def clipper.h hash.cpp hash.h stdstring.h
tokenizer.cpp tokenizer.h windowdata.cpp windowdata.h
Log Message:
Should have UNIX LF linebreaks, when running CVS from UNIX.
Index: clipper.cpp
===================================================================
RCS file: /cvsroot/rdesktop/seamlessrdp/ClientDLL/clipper.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** clipper.cpp 30 Jun 2005 08:53:04 -0000 1.1
--- clipper.cpp 30 Jun 2005 14:14:55 -0000 1.2
***************
*** 1,644 ****
! //*********************************************************************************
! //
! //Title: Terminal Services Window Clipper
! //
! //Author: Martin Wickett
! //
! //Date: 2004
! //
! //*********************************************************************************
!
[...1261 lines suppressed...]
! }
!
! if (classAlreadyRegistered=1)
! {
! HWND hWnd = CreateWindow(TEXT("WTSWinClipperDummy"), wd->GetTitle(), WS_POPUP, 0, 0, 0, 0, 0, 0, 0, 0);
! ShowWindow( hWnd, 3 );
! SetWindowPos(hWnd,0,0,0,0,0,SWP_NOREDRAW);
! wd->TaskbarWindowHandle = hWnd;
! SetFocus(m_mainWindowHandle);
! }
! }
!
! void DestroyTaskbarWindow(CWindowData* wd)
! {
! if (wd->TaskbarWindowHandle != NULL)
! {
! DestroyWindow(wd->TaskbarWindowHandle);
! }
}
\ No newline at end of file
Index: clipper.def
===================================================================
RCS file: /cvsroot/rdesktop/seamlessrdp/ClientDLL/clipper.def,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** clipper.def 30 Jun 2005 09:44:24 -0000 1.2
--- clipper.def 30 Jun 2005 14:14:56 -0000 1.3
***************
*** 1,5 ****
! LIBRARY seamlessrdp
!
! EXPORTS
! VirtualChannelEntry @1
!
--- 1,5 ----
! LIBRARY seamlessrdp
!
! EXPORTS
! VirtualChannelEntry @1
!
Index: clipper.h
===================================================================
RCS file: /cvsroot/rdesktop/seamlessrdp/ClientDLL/clipper.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** clipper.h 30 Jun 2005 08:53:04 -0000 1.1
--- clipper.h 30 Jun 2005 14:14:56 -0000 1.2
***************
*** 1,78 ****
! //*********************************************************************************
! //
! //Title: Terminal Services Window Clipper
! //
! //Author: Martin Wickett
! //
! //Date: 2004
! //
! //*********************************************************************************
!
! #define VER_FILETYPE VFT_DLL
! #define VER_FILESUBTYPE VFT2_UNKNOWN
! #define VER_FILEDESCRIPTION_STR "Virtual Channel sample DLL"
! #define VER_INTERNALNAME_STR "sysinf_c.dll"
! #define VER_ORIGINALFILENAME_STR "sysinf_c.dll"
!
! #define STRICT
! #define _
!
! #include <windows.h>
! #include <ntverp.h>
! #include "common.ver"
!
! #include <windows.h>
! #include <stdio.h>
! #include <wtsapi32.h>
! #include <tchar.h>
! #include <lmcons.h>
!
! #ifdef TSDLL
!
! #include <pchannel.h>
! #include <cchannel.h>
!
! #include <windows.h>
! #include <winuser.h>
!
! #endif
!
! #include "hash.h"
! #include "tokenizer.h"
! #include "WindowData.h"
!
! //
! // definitions
! //
! #define CHANNELNAME "CLIPPER"
!
! //
! // GLOBAL variables
! //
!
! LPHANDLE gphChannel;
! DWORD gdwOpenChannel;
! PCHANNEL_ENTRY_POINTS gpEntryPoints;
!
! hash_table m_ht;
! HRGN m_regionResult;
! HWND m_mainWindowHandle = NULL;
! int classAlreadyRegistered=0;
!
! int const ALWAYS__CLIP = 0;//set this to 0 to turn off clipping when there are no windows
! int const HIDE_TSAC_WINDOW = 1;
! int const OUTPUT_DEBUG_INFO = 0;
! int const OUTPUT_WINDOW_TABLE_DEBUG_INFO = 0;
!
! //
! // declarations
! //
! void WINAPI VirtualChannelOpenEvent(DWORD openHandle, UINT event, LPVOID pdata, UINT32 dataLength, UINT32 totalLength, UINT32 dataFlags);
! VOID VCAPITYPE VirtualChannelInitEventProc(LPVOID pInitHandle, UINT event, LPVOID pData, UINT dataLength);
! BOOL VCAPITYPE VirtualChannelEntry(PCHANNEL_ENTRY_POINTS pEntryPoints);
!
! void DoClipping(int forceRedraw);
! void CreateRegionFromWindowData(char *,void *);
!
! void CreateAndShowWindow(CWindowData* wd);
void DestroyTaskbarWindow(CWindowData* wd);
\ No newline at end of file
--- 1,78 ----
! //*********************************************************************************
! //
! //Title: Terminal Services Window Clipper
! //
! //Author: Martin Wickett
! //
! //Date: 2004
! //
! //*********************************************************************************
!
! #define VER_FILETYPE VFT_DLL
! #define VER_FILESUBTYPE VFT2_UNKNOWN
! #define VER_FILEDESCRIPTION_STR "Virtual Channel sample DLL"
! #define VER_INTERNALNAME_STR "sysinf_c.dll"
! #define VER_ORIGINALFILENAME_STR "sysinf_c.dll"
!
! #define STRICT
! #define _
!
! #include <windows.h>
! #include <ntverp.h>
! #include "common.ver"
!
! #include <windows.h>
! #include <stdio.h>
! #include <wtsapi32.h>
! #include <tchar.h>
! #include <lmcons.h>
!
! #ifdef TSDLL
!
! #include <pchannel.h>
! #include <cchannel.h>
!
! #include <windows.h>
! #include <winuser.h>
!
! #endif
!
! #include "hash.h"
! #include "tokenizer.h"
! #include "WindowData.h"
!
! //
! // definitions
! //
! #define CHANNELNAME "CLIPPER"
!
! //
! // GLOBAL variables
! //
!
! LPHANDLE gphChannel;
! DWORD gdwOpenChannel;
! PCHANNEL_ENTRY_POINTS gpEntryPoints;
!
! hash_table m_ht;
! HRGN m_regionResult;
! HWND m_mainWindowHandle = NULL;
! int classAlreadyRegistered=0;
!
! int const ALWAYS__CLIP = 0;//set this to 0 to turn off clipping when there are no windows
! int const HIDE_TSAC_WINDOW = 1;
! int const OUTPUT_DEBUG_INFO = 0;
! int const OUTPUT_WINDOW_TABLE_DEBUG_INFO = 0;
!
! //
! // declarations
! //
! void WINAPI VirtualChannelOpenEvent(DWORD openHandle, UINT event, LPVOID pdata, UINT32 dataLength, UINT32 totalLength, UINT32 dataFlags);
! VOID VCAPITYPE VirtualChannelInitEventProc(LPVOID pInitHandle, UINT event, LPVOID pData, UINT dataLength);
! BOOL VCAPITYPE VirtualChannelEntry(PCHANNEL_ENTRY_POINTS pEntryPoints);
!
! void DoClipping(int forceRedraw);
! void CreateRegionFromWindowData(char *,void *);
!
! void CreateAndShowWindow(CWindowData* wd);
void DestroyTaskbarWindow(CWindowData* wd);
\ No newline at end of file
Index: hash.cpp
===================================================================
RCS file: /cvsroot/rdesktop/seamlessrdp/ClientDLL/hash.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** hash.cpp 30 Jun 2005 08:53:04 -0000 1.1
--- hash.cpp 30 Jun 2005 14:14:56 -0000 1.2
***************
*** 1,28 ****
! #include <string.h>
! #include <stdlib.h>
! /* #define NDEBUG */
! #include <assert.h>
!
! #include "hash.h"
!
!
! /*
! ** public domain code by Jerry Coffin.
[...1005 lines suppressed...]
! {
! /* hash_del returns a pointer to the data */
! strfree( hash_del( strings[i], &table) );
! }
! hash_enumerate( &table, printer);
!
! for (i=0;NULL != strings[i];i++)
! {
! j = hash_lookup(strings[i], &table);
! if (NULL == j)
! printf("\n'%s' is not in the table", strings[i]);
! else
! printf("\n%s is still in the table.", strings[i]);
! }
!
! hash_free_table( &table, strfree );
!
! return 0;
! }
! #endif /* TEST */
Index: hash.h
===================================================================
RCS file: /cvsroot/rdesktop/seamlessrdp/ClientDLL/hash.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** hash.h 30 Jun 2005 08:53:04 -0000 1.1
--- hash.h 30 Jun 2005 14:14:56 -0000 1.2
***************
*** 1,90 ****
! /* HW: HenkJan Wolthuis, 1997 */
! #ifndef HASH__H
! #define HASH__H
!
! #include <stddef.h> /* For size_t */
! /*
! ** A hash table consists of an array of these buckets. Each bucket
! ** holds a copy of the key, a pointer to the data associated with the
! ** key, and a pointer to the next bucket that collided with this one,
! ** if there was one.
! */
!
! typedef struct bucket {
! char *key;
! void *data;
! struct bucket *next;
! } bucket;
!
! /*
! ** This is what you actually declare an instance of to create a table.
! ** You then call 'construct_table' with the address of this structure,
! ** and a guess at the size of the table. Note that more nodes than this
! ** can be inserted in the table, but performance degrades as this
! ** happens. Performance should still be quite adequate until 2 or 3
! ** times as many nodes have been inserted as the table was created with.
! */
!
! typedef struct hash_table {
! size_t size;
! size_t count; /* HW */
! bucket **table;
! } hash_table;
!
! /*
! ** This is used to construct the table. If it doesn't succeed, it sets
! ** the table's size to 0, and the pointer to the table to NULL.
! */
! /* HW: returns NULL if it fails */
! hash_table *hash_construct_table(hash_table *table,size_t size);
!
! /*
! ** Inserts a pointer to 'data' in the table, with a copy of 'key' as its
! ** key. Note that this makes a copy of the key, but NOT of the
! ** associated data.
! */
!
! void *hash_insert(char *key,void *data,struct hash_table *table);
!
! /*
! ** Returns a pointer to the data associated with a key. If the key has
! ** not been inserted in the table, returns NULL.
! */
!
! void *hash_lookup(char *key,struct hash_table *table);
!
! /*
! ** Deletes an entry from the table. Returns a pointer to the data that
! ** was associated with the key so the calling code can dispose of it
! ** properly.
! */
!
! void *hash_del(char *key,struct hash_table *table);
!
! /*
! ** Goes through a hash table and calls the function passed to it
! ** for each node that has been inserted. The function is passed
! ** a pointer to the key, and a pointer to the data associated
! ** with it.
! */
!
! void hash_enumerate( hash_table *table,void (*func)(char *,void *));
!
! /* HW: same as above, but sorted output ( sorted on 'key') */
! int hash_sorted_enum( hash_table *table, void(*func)(char *, void*));
!
! /*
! ** Frees a hash table. For each node that was inserted in the table,
! ** it calls the function whose address it was passed, with a pointer
! ** to the data that was in the table. The function is expected to
! ** free the data. Typical usage would be:
! ** free_table(&table, free);
! ** if the data placed in the table was dynamically allocated, or:
! ** free_table(&table, NULL);
! ** if not. ( If the parameter passed is NULL, it knows not to call
! ** any function with the data. )
! */
!
! void hash_free_table(hash_table *table, void (*func)(void *));
!
! #endif /* HASH__H */
--- 1,90 ----
! /* HW: HenkJan Wolthuis, 1997 */
! #ifndef HASH__H
! #define HASH__H
!
! #include <stddef.h> /* For size_t */
! /*
! ** A hash table consists of an array of these buckets. Each bucket
! ** holds a copy of the key, a pointer to the data associated with the
! ** key, and a pointer to the next bucket that collided with this one,
! ** if there was one.
! */
!
! typedef struct bucket {
! char *key;
! void *data;
! struct bucket *next;
! } bucket;
!
! /*
! ** This is what you actually declare an instance of to create a table.
! ** You then call 'construct_table' with the address of this structure,
! ** and a guess at the size of the table. Note that more nodes than this
! ** can be inserted in the table, but performance degrades as this
! ** happens. Performance should still be quite adequate until 2 or 3
! ** times as many nodes have been inserted as the table was created with.
! */
!
! typedef struct hash_table {
! size_t size;
! size_t count; /* HW */
! bucket **table;
! } hash_table;
!
! /*
! ** This is used to construct the table. If it doesn't succeed, it sets
! ** the table's size to 0, and the pointer to the table to NULL.
! */
! /* HW: returns NULL if it fails */
! hash_table *hash_construct_table(hash_table *table,size_t size);
!
! /*
! ** Inserts a pointer to 'data' in the table, with a copy of 'key' as its
! ** key. Note that this makes a copy of the key, but NOT of the
! ** associated data.
! */
!
! void *hash_insert(char *key,void *data,struct hash_table *table);
!
! /*
! ** Returns a pointer to the data associated with a key. If the key has
! ** not been inserted in the table, returns NULL.
! */
!
! void *hash_lookup(char *key,struct hash_table *table);
!
! /*
! ** Deletes an entry from the table. Returns a pointer to the data that
! ** was associated with the key so the calling code can dispose of it
! ** properly.
! */
!
! void *hash_del(char *key,struct hash_table *table);
!
! /*
! ** Goes through a hash table and calls the function passed to it
! ** for each node that has been inserted. The function is passed
! ** a pointer to the key, and a pointer to the data associated
! ** with it.
! */
!
! void hash_enumerate( hash_table *table,void (*func)(char *,void *));
!
! /* HW: same as above, but sorted output ( sorted on 'key') */
! int hash_sorted_enum( hash_table *table, void(*func)(char *, void*));
!
! /*
! ** Frees a hash table. For each node that was inserted in the table,
! ** it calls the function whose address it was passed, with a pointer
! ** to the data that was in the table. The function is expected to
! ** free the data. Typical usage would be:
! ** free_table(&table, free);
! ** if the data placed in the table was dynamically allocated, or:
! ** free_table(&table, NULL);
! ** if not. ( If the parameter passed is NULL, it knows not to call
! ** any function with the data. )
! */
!
! void hash_free_table(hash_table *table, void (*func)(void *));
!
! #endif /* HASH__H */
Index: stdstring.h
===================================================================
RCS file: /cvsroot/rdesktop/seamlessrdp/ClientDLL/stdstring.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** stdstring.h 30 Jun 2005 09:06:43 -0000 1.1
--- stdstring.h 30 Jun 2005 14:14:56 -0000 1.2
***************
*** 1,3015 ****
! // =============================================================================
! // FILE: StdString.h
! // AUTHOR: Joe O'Leary (with outside help noted in comments)
! // REMARKS:
! // This header file declares the CStdStr template. This template derives
! // the Standard C++ Library basic_string<> template and add to it the
! // the following conveniences:
! // - The full MFC CString set of functions (including implicit cast)
! // - writing to/reading from COM IStream interfaces
! // - Functional objects for use in STL algorithms
[...6003 lines suppressed...]
! { return ssicmp(sLeft.c_str(), sRight.c_str()) < 0; }
! };
! struct StdStringEqualsNoCaseA
! : std::binary_function<CStdStringA, CStdStringA, bool>
! {
! inline
! bool operator()(const CStdStringA& sLeft, const CStdStringA& sRight) const
! { return ssicmp(sLeft.c_str(), sRight.c_str()) == 0; }
! };
!
! // If we had to define our own version of TRACE above, get rid of it now
!
! #ifdef TRACE_DEFINED_HERE
! #undef TRACE
! #undef TRACE_DEFINED_HERE
! #endif
!
!
#endif // #ifndef STDSTRING_H
\ No newline at end of file
Index: tokenizer.cpp
===================================================================
RCS file: /cvsroot/rdesktop/seamlessrdp/ClientDLL/tokenizer.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** tokenizer.cpp 30 Jun 2005 09:06:43 -0000 1.1
--- tokenizer.cpp 30 Jun 2005 14:14:56 -0000 1.2
***************
*** 1,66 ****
! /////////////////////////////////////////////////////////////////////////////
! // Tokenizer.cpp
! //
! // Date: Thursday, November 18, 1999
! // Autor: Eduardo Velasquez
! // Description: Tokenizer class for CStrings. Works like strtok().
! ///////////////
!
! //#include "atlstr.h"
!
!
!
! #include "Tokenizer.h"
!
! #ifdef _DEBUG
! #define new DEBUG_NEW
! #undef THIS_FILE
! static char THIS_FILE[] = __FILE__;
! #endif
!
! CTokenizer::CTokenizer(const CStdString& cs, const CStdString& csDelim):
! m_cs(cs),
! m_nCurPos(0)
! {
! SetDelimiters(csDelim);
! }
!
! void CTokenizer::SetDelimiters(const CStdString& csDelim)
! {
! for(int i = 0; i < csDelim.GetLength(); ++i)
! m_delim.set(static_cast<BYTE>(csDelim[i]));
! }
!
! bool CTokenizer::Next(CStdString& cs)
! {
! cs.Empty();
!
! while(m_nCurPos < m_cs.GetLength() && m_delim[static_cast<BYTE>(m_cs[m_nCurPos])])
! ++m_nCurPos;
!
! if(m_nCurPos >= m_cs.GetLength())
! return false;
!
! int nStartPos = m_nCurPos;
! while(m_nCurPos < m_cs.GetLength() && !m_delim[static_cast<BYTE>(m_cs[m_nCurPos])])
! ++m_nCurPos;
!
! cs = m_cs.Mid(nStartPos, m_nCurPos - nStartPos);
!
! return true;
! }
!
! CStdString CTokenizer::Tail() const
! {
! int nCurPos = m_nCurPos;
!
! while(nCurPos < m_cs.GetLength() && m_delim[static_cast<BYTE>(m_cs[nCurPos])])
! ++nCurPos;
!
! CStdString csResult;
!
! if(nCurPos < m_cs.GetLength())
! csResult = m_cs.Mid(nCurPos);
!
! return csResult;
! }
--- 1,66 ----
! /////////////////////////////////////////////////////////////////////////////
! // Tokenizer.cpp
! //
! // Date: Thursday, November 18, 1999
! // Autor: Eduardo Velasquez
! // Description: Tokenizer class for CStrings. Works like strtok().
! ///////////////
!
! //#include "atlstr.h"
!
!
!
! #include "Tokenizer.h"
!
! #ifdef _DEBUG
! #define new DEBUG_NEW
! #undef THIS_FILE
! static char THIS_FILE[] = __FILE__;
! #endif
!
! CTokenizer::CTokenizer(const CStdString& cs, const CStdString& csDelim):
! m_cs(cs),
! m_nCurPos(0)
! {
! SetDelimiters(csDelim);
! }
!
! void CTokenizer::SetDelimiters(const CStdString& csDelim)
! {
! for(int i = 0; i < csDelim.GetLength(); ++i)
! m_delim.set(static_cast<BYTE>(csDelim[i]));
! }
!
! bool CTokenizer::Next(CStdString& cs)
! {
! cs.Empty();
!
! while(m_nCurPos < m_cs.GetLength() && m_delim[static_cast<BYTE>(m_cs[m_nCurPos])])
! ++m_nCurPos;
!
! if(m_nCurPos >= m_cs.GetLength())
! return false;
!
! int nStartPos = m_nCurPos;
! while(m_nCurPos < m_cs.GetLength() && !m_delim[static_cast<BYTE>(m_cs[m_nCurPos])])
! ++m_nCurPos;
!
! cs = m_cs.Mid(nStartPos, m_nCurPos - nStartPos);
!
! return true;
! }
!
! CStdString CTokenizer::Tail() const
! {
! int nCurPos = m_nCurPos;
!
! while(nCurPos < m_cs.GetLength() && m_delim[static_cast<BYTE>(m_cs[nCurPos])])
! ++nCurPos;
!
! CStdString csResult;
!
! if(nCurPos < m_cs.GetLength())
! csResult = m_cs.Mid(nCurPos);
!
! return csResult;
! }
Index: tokenizer.h
===================================================================
RCS file: /cvsroot/rdesktop/seamlessrdp/ClientDLL/tokenizer.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** tokenizer.h 30 Jun 2005 09:06:43 -0000 1.1
--- tokenizer.h 30 Jun 2005 14:14:56 -0000 1.2
***************
*** 1,38 ****
! /////////////////////////////////////////////////////////////////////////////
! // Tokenizer.h
! //
! // Date: Monday, October 22, 2001
! // Autor: Eduardo Velasquez
! // Description: Tokenizer class for CStrings. Works like strtok.
! ///////////////
!
!
! #include "StdString.h"
!
! #if !defined(__TOKENIZER_H__)
! #define __TOKENIZER_H__
!
! #if _MSC_VER >= 1000
! #pragma once
! #endif // _MSC_VER >= 1000
!
! #if !defined(_BITSET_)
! # include <bitset>
! #endif // !defined(_BITSET_)
!
! class CTokenizer
! {
! public:
! CTokenizer(const CStdString& cs, const CStdString& csDelim);
! void SetDelimiters(const CStdString& csDelim);
!
! bool Next(CStdString& cs);
! CStdString Tail() const;
!
! private:
! CStdString m_cs;
! std::bitset<256> m_delim;
! int m_nCurPos;
! };
!
! #endif // !defined(__TOKENIZER_H__)
--- 1,38 ----
! /////////////////////////////////////////////////////////////////////////////
! // Tokenizer.h
! //
! // Date: Monday, October 22, 2001
! // Autor: Eduardo Velasquez
! // Description: Tokenizer class for CStrings. Works like strtok.
! ///////////////
!
!
! #include "StdString.h"
!
! #if !defined(__TOKENIZER_H__)
! #define __TOKENIZER_H__
!
! #if _MSC_VER >= 1000
! #pragma once
! #endif // _MSC_VER >= 1000
!
! #if !defined(_BITSET_)
! # include <bitset>
! #endif // !defined(_BITSET_)
!
! class CTokenizer
! {
! public:
! CTokenizer(const CStdString& cs, const CStdString& csDelim);
! void SetDelimiters(const CStdString& csDelim);
!
! bool Next(CStdString& cs);
! CStdString Tail() const;
!
! private:
! CStdString m_cs;
! std::bitset<256> m_delim;
! int m_nCurPos;
! };
!
! #endif // !defined(__TOKENIZER_H__)
Index: windowdata.cpp
===================================================================
RCS file: /cvsroot/rdesktop/seamlessrdp/ClientDLL/windowdata.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** windowdata.cpp 30 Jun 2005 09:06:43 -0000 1.1
--- windowdata.cpp 30 Jun 2005 14:14:56 -0000 1.2
***************
*** 1,76 ****
! //*********************************************************************************
! //
! //Title: Terminal Services Window Clipper
! //
! //Author: Martin Wickett
! //
! //Date: 2004
! //
! //*********************************************************************************
!
! #include "WindowData.h"
!
! CWindowData::CWindowData(const CStdString& csId) : m_csTitle(""),m_csId(""), m_iX1(0),m_iY1(0),m_iX2(0),m_iY2(0)
! {
!
! }
!
! void CWindowData::SetId(const CStdString& csId)
! {
! m_csId = csId;
! }
!
! void CWindowData::SetTitle(const CStdString& csTitle)
! {
! m_csTitle = csTitle;
! }
!
! void CWindowData::SetX1(int iX1)
! {
! m_iX1 = iX1;
! }
!
! void CWindowData::SetY1(int iY1)
! {
! m_iY1 = iY1;
! }
!
! void CWindowData::SetX2(int iX2)
! {
! m_iX2 = iX2;
! }
!
! void CWindowData::SetY2(int iY2)
! {
! m_iY2 = iY2;
! }
!
! CStdString CWindowData::GetId()
! {
! return this->m_csId;
! }
!
! CStdString CWindowData::GetTitle()
! {
! return this->m_csTitle;
! }
!
! int CWindowData::GetX1()
! {
! return this->m_iX1;
! }
!
! int CWindowData::GetY1()
! {
! return this->m_iY1;
! }
!
! int CWindowData::GetX2()
! {
! return this->m_iX2;
! }
!
! int CWindowData::GetY2()
! {
! return this->m_iY2;
}
\ No newline at end of file
--- 1,76 ----
! //*********************************************************************************
! //
! //Title: Terminal Services Window Clipper
! //
! //Author: Martin Wickett
! //
! //Date: 2004
! //
! //*********************************************************************************
!
! #include "WindowData.h"
!
! CWindowData::CWindowData(const CStdString& csId) : m_csTitle(""),m_csId(""), m_iX1(0),m_iY1(0),m_iX2(0),m_iY2(0)
! {
!
! }
!
! void CWindowData::SetId(const CStdString& csId)
! {
! m_csId = csId;
! }
!
! void CWindowData::SetTitle(const CStdString& csTitle)
! {
! m_csTitle = csTitle;
! }
!
! void CWindowData::SetX1(int iX1)
! {
! m_iX1 = iX1;
! }
!
! void CWindowData::SetY1(int iY1)
! {
! m_iY1 = iY1;
! }
!
! void CWindowData::SetX2(int iX2)
! {
! m_iX2 = iX2;
! }
!
! void CWindowData::SetY2(int iY2)
! {
! m_iY2 = iY2;
! }
!
! CStdString CWindowData::GetId()
! {
! return this->m_csId;
! }
!
! CStdString CWindowData::GetTitle()
! {
! return this->m_csTitle;
! }
!
! int CWindowData::GetX1()
! {
! return this->m_iX1;
! }
!
! int CWindowData::GetY1()
! {
! return this->m_iY1;
! }
!
! int CWindowData::GetX2()
! {
! return this->m_iX2;
! }
!
! int CWindowData::GetY2()
! {
! return this->m_iY2;
}
\ No newline at end of file
Index: windowdata.h
===================================================================
RCS file: /cvsroot/rdesktop/seamlessrdp/ClientDLL/windowdata.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** windowdata.h 30 Jun 2005 09:06:43 -0000 1.1
--- windowdata.h 30 Jun 2005 14:14:56 -0000 1.2
***************
*** 1,42 ****
! //*********************************************************************************
! //
! //Title: Terminal Services Window Clipper
! //
! //Author: Martin Wickett
! //
! //Date: 2004
! //
! //*********************************************************************************
!
! #include "StdString.h"
!
! #if !defined(__WINDOWDATA_H__)
! #define __WINDOWDATA_H__
!
! class CWindowData
! {
! public:
! CWindowData(const CStdString& csId);
!
! void CWindowData::SetId(const CStdString& csId);
! void CWindowData::SetTitle(const CStdString& csTitle);
! void CWindowData::SetX1(int iX1);
! void CWindowData::SetY1(int iY1);
! void CWindowData::SetX2(int iX2);
! void CWindowData::SetY2(int iY2);
! HWND CWindowData::TaskbarWindowHandle;
!
! CStdString CWindowData::GetId();
! CStdString CWindowData::GetTitle();
! int CWindowData::GetX1();
! int CWindowData::GetY1();
! int CWindowData::GetX2();
! int CWindowData::GetY2();
!
! private:
! CStdString m_csTitle;
! CStdString m_csId;
! int m_iX1,m_iY1,m_iX2,m_iY2;
! };
!
#endif // !defined(__WINDOWDATA_H__)
\ No newline at end of file
--- 1,42 ----
! //*********************************************************************************
! //
! //Title: Terminal Services Window Clipper
! //
! //Author: Martin Wickett
! //
! //Date: 2004
! //
! //*********************************************************************************
!
! #include "StdString.h"
!
! #if !defined(__WINDOWDATA_H__)
! #define __WINDOWDATA_H__
!
! class CWindowData
! {
! public:
! CWindowData(const CStdString& csId);
!
! void CWindowData::SetId(const CStdString& csId);
! void CWindowData::SetTitle(const CStdString& csTitle);
! void CWindowData::SetX1(int iX1);
! void CWindowData::SetY1(int iY1);
! void CWindowData::SetX2(int iX2);
! void CWindowData::SetY2(int iY2);
! HWND CWindowData::TaskbarWindowHandle;
!
! CStdString CWindowData::GetId();
! CStdString CWindowData::GetTitle();
! int CWindowData::GetX1();
! int CWindowData::GetY1();
! int CWindowData::GetX2();
! int CWindowData::GetY2();
!
! private:
! CStdString m_csTitle;
! CStdString m_csId;
! int m_iX1,m_iY1,m_iX2,m_iY2;
! };
!
#endif // !defined(__WINDOWDATA_H__)
\ No newline at end of file
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click