From gwright at helixcommunity.org  Mon Jul  3 11:57:45 2006
From: gwright at helixcommunity.org (gwright@helixcommunity.org)
Date: Mon Jul  3 13:35:47 2006
Subject: [Common-cvs] include hxcore.h,1.16,1.17
Message-ID: 

Update of /cvsroot/common/include
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv26820

Modified Files:
	hxcore.h 
Log Message:
Fix linux builds, BOOL is not defined, use HXBOOL instead.


Index: hxcore.h
===================================================================
RCS file: /cvsroot/common/include/hxcore.h,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- hxcore.h	30 Jun 2006 12:54:13 -0000	1.16
+++ hxcore.h	3 Jul 2006 18:57:42 -0000	1.17
@@ -2276,7 +2276,7 @@
       *	Purpose:
       *	    
       */
-     STDMETHOD_(BOOL,IsExternalClockUsed)	(THIS) PURE;
+     STDMETHOD_(HXBOOL,IsExternalClockUsed)	(THIS) PURE;
 
      /************************************************************************
       *	Method:


From gwright at helixcommunity.org  Wed Jul  5 10:52:57 2006
From: gwright at helixcommunity.org (gwright@helixcommunity.org)
Date: Wed Jul  5 12:30:30 2006
Subject: [Common-cvs] auth/authmgr cliauth.cpp,1.8,1.9
Message-ID: 

Update of /cvsroot/common/auth/authmgr
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv18674/authmgr

Modified Files:
	cliauth.cpp 
Log Message:
Fixing linux build buster. This is an old CR that I forgot to check
in.



Index: cliauth.cpp
===================================================================
RCS file: /cvsroot/common/auth/authmgr/cliauth.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- cliauth.cpp	17 May 2006 21:17:38 -0000	1.8
+++ cliauth.cpp	5 Jul 2006 17:52:54 -0000	1.9
@@ -777,8 +777,6 @@
     )					spIHXClientAuthConversationPlugin;
     DECLARE_SMART_POINTER(IHXBuffer)	spIHXBufferPropValue;
     DECLARE_SMART_POINTER(IHXValues)	spIHXValuesResponseHeaders;
-    HX_RESULT				HX_RESULTRet = HXR_FAIL;
-    const char*				pcharPropName = NULL;
 
     if(FAILED(m_HX_RESULTStatus) && HX_RESULTStatus != HXR_FAIL)
     {
@@ -865,7 +863,6 @@
     IHXValues* pIHXValuesCredentialRequest
 )
 {
-    IHXBuffer*	pRealm = NULL;
 
     if(pIHXValuesCredentialRequest)
     {
@@ -1101,7 +1098,7 @@
 
 #ifdef HELIX_FEATURE_CLIENT
 	// Retrieve all plugins which support this search prop and data value.
-	SPIHXPluginHandler3 spHandler = m_spIUnknownContext;
+	SPIHXPluginHandler3 spHandler(m_spIUnknownContext);
 	SPIHXPluginSearchEnumerator spIEnumerator;
 	if (spHandler.IsValid())
 	{


From gwright at helixcommunity.org  Fri Jul  7 12:38:06 2006
From: gwright at helixcommunity.org (gwright@helixcommunity.org)
Date: Fri Jul  7 14:15:10 2006
Subject: [Common-cvs] include hxcore.h, 1.8.6.1, 1.8.6.2 hxiids.h, 1.78.2.4,
	1.78.2.5 hxrendr.h, 1.8, 1.8.6.1
Message-ID: 

Update of /cvsroot/common/include
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv14658

Modified Files:
      Tag: hxclient_1_5_0_cayenne
	hxcore.h hxiids.h hxrendr.h 
Log Message:
Adding support for QuickSeek(FrameScrubbing). See this thread:

http://lists.helixcommunity.org/pipermail/client-dev/2006-July/003759.html


Index: hxiids.h
===================================================================
RCS file: /cvsroot/common/include/hxiids.h,v
retrieving revision 1.78.2.4
retrieving revision 1.78.2.5
diff -u -d -r1.78.2.4 -r1.78.2.5
--- hxiids.h	30 Jun 2006 12:45:05 -0000	1.78.2.4
+++ hxiids.h	7 Jul 2006 19:38:04 -0000	1.78.2.5
@@ -323,11 +323,12 @@
  *      IID_IHXPersistentRenderer:      {00000301-0901-11d1-8B06-00A024406D59}
  *      IID_IHXUntimedRenderer:         {00000303-0901-11d1-8B06-00A024406D59}
  */
-DEFINE_GUID_ENUM(IID_IHXRenderer,                   0x00000300, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
+DEFINE_GUID_ENUM(IID_IHXRenderer, 0x00000300, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
 // $Private:
-DEFINE_GUID_ENUM(IID_IHXPersistentRenderer,         0x00000301, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
+DEFINE_GUID_ENUM(IID_IHXPersistentRenderer, 0x00000301, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
 // $EndPrivate.
-DEFINE_GUID_ENUM(IID_IHXUntimedRenderer,            0x00000303, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
+DEFINE_GUID_ENUM(IID_IHXUntimedRenderer, 0x00000303, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
+DEFINE_GUID_ENUM(IID_IHXFrameInfo, 0x248e4030, 0x2cf1, 0x4b97, 0x82, 0xe1, 0xab, 0x7b, 0x8f, 0xa5, 0xa, 0xee);
 
 
 /*
@@ -363,6 +364,7 @@
 DEFINE_GUID_ENUM(IID_IHXStream2,    0x00000400, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x5a)
 DEFINE_GUID_ENUM(IID_IHXStreamSource,   0x00000401, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
 DEFINE_GUID_ENUM(IID_IHXPlayer,     0x00000402, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
+DEFINE_GUID_ENUM(IID_IHXQuickSeek, 0x6eb157e9, 0xbfa3, 0x462c, 0xad, 0xac, 0x99, 0x54, 0xb6, 0x69, 0xed, 0x15);
 DEFINE_GUID_ENUM(IID_IHXClientEngine,   0x00000403, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
 #ifdef _UNIX
 DEFINE_GUID_ENUM(IID_IHXClientEngineSelector,   0x00000404, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)

Index: hxcore.h
===================================================================
RCS file: /cvsroot/common/include/hxcore.h,v
retrieving revision 1.8.6.1
retrieving revision 1.8.6.2
diff -u -d -r1.8.6.1 -r1.8.6.2
--- hxcore.h	30 Jun 2006 12:44:46 -0000	1.8.6.1
+++ hxcore.h	7 Jul 2006 19:38:04 -0000	1.8.6.2
@@ -53,37 +53,35 @@
 /*
  * Forward declarations of some interfaces defined or used here-in.
  */
-typedef _INTERFACE	IUnknown			IUnknown;
-typedef _INTERFACE	IHXStream			IHXStream;
-typedef _INTERFACE	IHXStream2			IHXStream2;
-typedef _INTERFACE	IHXStreamSource		IHXStreamSource;
-typedef _INTERFACE	IHXPlayer			IHXPlayer;
-typedef _INTERFACE	IHXClientEngine		IHXClientEngine;
-typedef _INTERFACE	IHXScheduler			IHXScheduler;
-typedef _INTERFACE	IHXClientAdviseSink		IHXClientAdviseSink;
[...2924 lines suppressed...]
+     *  Purpose:
      *      Call this method to lock the client engine's core mutex.
      */
-    STDMETHOD(LockMacBlitMutex)    (THIS) PURE;
+    STDMETHOD(LockMacBlitMutex) (THIS) PURE;
 
     /************************************************************************
-     *	Method:
-     *	    IHXMacBlitMutex::UnlockMacBlitMutex
-     *	Purpose:
+     *  Method:
+     *      IHXMacBlitMutex::UnlockMacBlitMutex
+     *  Purpose:
      *      Call this method to unlock the client engine's core mutex.
      */
-    STDMETHOD(UnlockMacBlitMutex)    (THIS) PURE;
+    STDMETHOD(UnlockMacBlitMutex) (THIS) PURE;
 };
 
 /****************************************************************************

Index: hxrendr.h
===================================================================
RCS file: /cvsroot/common/include/hxrendr.h,v
retrieving revision 1.8
retrieving revision 1.8.6.1
diff -u -d -r1.8 -r1.8.6.1
--- hxrendr.h	5 Aug 2004 14:47:03 -0000	1.8
+++ hxrendr.h	7 Jul 2006 19:38:04 -0000	1.8.6.1
@@ -495,4 +495,28 @@
     STDMETHOD_(HX_RESULT,SetUntimedRendering)(THIS_ BOOL) PURE;
 };
 
+
+
+/*
+ * IHXFrameInfo. Used by the core to determine of a visual renderer
+ * is still waiting to display the first frame after playback
+ * begins or after a seek event. Current used by the QuickSeek 
+ * interface to find out just 
+ */
+DEFINE_GUID(IID_IHXFrameInfo, 0x248e4030, 0x2cf1, 0x4b97, 0x82, 0xe1, 0xab,
+            0x7b, 0x8f, 0xa5, 0xa, 0xee);
+
+
+#undef  INTERFACE
+#define INTERFACE   IHXFrameInfo
+DECLARE_INTERFACE_(IHXFrameInfo, IUnknown)
+{
+    STDMETHOD(QueryInterface)   (THIS_ REFIID riid, void** ppvObj) PURE;
+    STDMETHOD_(ULONG32,AddRef)  (THIS) PURE;
+    STDMETHOD_(ULONG32,Release) (THIS) PURE;
+    STDMETHOD_(BOOL,FirstFrameDisplayed)(THIS) PURE;
+};
+
+
+
 #endif /* _HXRENDR_H_ */


From gwright at helixcommunity.org  Fri Jul  7 13:31:54 2006
From: gwright at helixcommunity.org (gwright@helixcommunity.org)
Date: Fri Jul  7 15:08:57 2006
Subject: [Common-cvs] include hxcore.h, 1.17, 1.18 hxiids.h, 1.109,
	1.110 hxrendr.h, 1.9, 1.10 platform.h, 1.38, 1.39
Message-ID: 

Update of /cvsroot/common/include
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv20987

Modified Files:
	hxcore.h hxiids.h hxrendr.h platform.h 
Log Message:
Adding support for QuickSeek(FrameScrubbing). See this thread:

http://lists.helixcommunity.org/pipermail/client-dev/2006-July/003759.html



Index: hxiids.h
===================================================================
RCS file: /cvsroot/common/include/hxiids.h,v
retrieving revision 1.109
retrieving revision 1.110
diff -u -d -r1.109 -r1.110
--- hxiids.h	30 Jun 2006 12:54:13 -0000	1.109
+++ hxiids.h	7 Jul 2006 20:31:51 -0000	1.110
@@ -335,11 +335,12 @@
  *      IID_IHXPersistentRenderer:      {00000301-0901-11d1-8B06-00A024406D59}
  *      IID_IHXUntimedRenderer:         {00000303-0901-11d1-8B06-00A024406D59}
  */
-DEFINE_GUID_ENUM(IID_IHXRenderer,                   0x00000300, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
+DEFINE_GUID_ENUM(IID_IHXRenderer, 0x00000300, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
 // $Private:
-DEFINE_GUID_ENUM(IID_IHXPersistentRenderer,         0x00000301, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
+DEFINE_GUID_ENUM(IID_IHXPersistentRenderer, 0x00000301, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
 // $EndPrivate.
-DEFINE_GUID_ENUM(IID_IHXUntimedRenderer,            0x00000303, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
+DEFINE_GUID_ENUM(IID_IHXUntimedRenderer, 0x00000303, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
+DEFINE_GUID_ENUM(IID_IHXFrameInfo, 0x248e4030, 0x2cf1, 0x4b97, 0x82, 0xe1, 0xab, 0x7b, 0x8f, 0xa5, 0xa, 0xee);
 
 
 /*
@@ -376,6 +377,7 @@
 DEFINE_GUID_ENUM(IID_IHXStreamSource,   0x00000401, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
 DEFINE_GUID_ENUM(IID_IHXStreamSource2, 0xc5a25d4d, 0xcd2c, 0x4bab, 0xb8, 0x3, 0xe2, 0x9a, 0x4d, 0x20, 0x81, 0xb1)
 DEFINE_GUID_ENUM(IID_IHXPlayer,     0x00000402, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
+DEFINE_GUID_ENUM(IID_IHXQuickSeek, 0x6eb157e9, 0xbfa3, 0x462c, 0xad, 0xac, 0x99, 0x54, 0xb6, 0x69, 0xed, 0x15);
 DEFINE_GUID_ENUM(IID_IHXClientEngine,   0x00000403, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
 DEFINE_GUID_ENUM(IID_IHXClientEngine2,  0x00000403, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x5a)
 #ifdef _UNIX

Index: hxcore.h
===================================================================
RCS file: /cvsroot/common/include/hxcore.h,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- hxcore.h	3 Jul 2006 18:57:42 -0000	1.17
+++ hxcore.h	7 Jul 2006 20:31:51 -0000	1.18
@@ -53,38 +53,35 @@
 /*
  * Forward declarations of some interfaces defined or used here-in.
  */
-typedef _INTERFACE	IUnknown			IUnknown;
-typedef _INTERFACE	IHXStream			IHXStream;
-typedef _INTERFACE	IHXStream2			IHXStream2;
-typedef _INTERFACE	IHXStreamSource		IHXStreamSource;
-typedef _INTERFACE      IHXStreamSource2                IHXStreamSource2;
-typedef _INTERFACE	IHXPlayer			IHXPlayer;
-typedef _INTERFACE	IHXClientEngine		IHXClientEngine;
-typedef _INTERFACE	IHXScheduler			IHXScheduler;
[...2811 lines suppressed...]
-     *	Purpose:
+     *  Method:
+     *      IHXMacBlitMutex::UnlockMacBlitMutex
+     *  Purpose:
      *      Call this method to unlock the client engine's core mutex.
      */
-    STDMETHOD(UnlockMacBlitMutex)    (THIS) PURE;
+    STDMETHOD(UnlockMacBlitMutex) (THIS) PURE;
 };
 /****************************************************************************
  * 
@@ -2288,8 +2282,6 @@
 
 };
 
-// $EndPrivate.
-
 #include "hxcomptr.h"
 DEFINE_SMART_PTR(IHXStream)
 DEFINE_SMART_PTR(IHXStream2)

Index: platform.h
===================================================================
RCS file: /cvsroot/common/include/platform.h,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -d -r1.38 -r1.39
--- platform.h	6 Jun 2006 22:12:13 -0000	1.38
+++ platform.h	7 Jul 2006 20:31:51 -0000	1.39
@@ -45,10 +45,10 @@
  * 
  * Contributor(s):
  * 
- * ***** END LICENSE BLOCK ***** */
-
-#ifndef _PLATFORM_H_
-#define _PLATFORM_H_
-#define TARVER_STR_PLATFORM "linux-2.2-libc6-gcc32-i586"
-#define TARVER_STR_BUILD_BRANCH "helix"
-#endif
+ * ***** END LICENSE BLOCK ***** */
+
+#ifndef _PLATFORM_H_
+#define _PLATFORM_H_
+#define TARVER_STR_PLATFORM "win32"
+#define TARVER_STR_BUILD_BRANCH "helix_restricted"
+#endif

Index: hxrendr.h
===================================================================
RCS file: /cvsroot/common/include/hxrendr.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- hxrendr.h	14 Mar 2005 19:27:09 -0000	1.9
+++ hxrendr.h	7 Jul 2006 20:31:51 -0000	1.10
@@ -495,4 +495,28 @@
     STDMETHOD_(HX_RESULT,SetUntimedRendering)(THIS_ HXBOOL) PURE;
 };
 
+
+
+/*
+ * IHXFrameInfo. Used by the core to determine of a visual renderer
+ * is still waiting to display the first frame after playback
+ * begins or after a seek event. Current used by the QuickSeek 
+ * interface to find out just 
+ */
+DEFINE_GUID(IID_IHXFrameInfo, 0x248e4030, 0x2cf1, 0x4b97, 0x82, 0xe1, 0xab,
+            0x7b, 0x8f, 0xa5, 0xa, 0xee);
+
+
+#undef  INTERFACE
+#define INTERFACE   IHXFrameInfo
+DECLARE_INTERFACE_(IHXFrameInfo, IUnknown)
+{
+    STDMETHOD(QueryInterface)   (THIS_ REFIID riid, void** ppvObj) PURE;
+    STDMETHOD_(ULONG32,AddRef)  (THIS) PURE;
+    STDMETHOD_(ULONG32,Release) (THIS) PURE;
+    STDMETHOD_(BOOL,FirstFrameDisplayed)(THIS) PURE;
+};
+
+
+
 #endif /* _HXRENDR_H_ */


From gwright at helixcommunity.org  Mon Jul 10 10:28:11 2006
From: gwright at helixcommunity.org (gwright@helixcommunity.org)
Date: Mon Jul 10 12:04:31 2006
Subject: [Common-cvs] include hxrendr.h,1.10,1.11
Message-ID: 

Update of /cvsroot/common/include
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv13988

Modified Files:
	hxrendr.h 
Log Message:
Fix typo, BOOL. Fixes linux builds.


Index: hxrendr.h
===================================================================
RCS file: /cvsroot/common/include/hxrendr.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- hxrendr.h	7 Jul 2006 20:31:51 -0000	1.10
+++ hxrendr.h	10 Jul 2006 17:28:05 -0000	1.11
@@ -514,7 +514,7 @@
     STDMETHOD(QueryInterface)   (THIS_ REFIID riid, void** ppvObj) PURE;
     STDMETHOD_(ULONG32,AddRef)  (THIS) PURE;
     STDMETHOD_(ULONG32,Release) (THIS) PURE;
-    STDMETHOD_(BOOL,FirstFrameDisplayed)(THIS) PURE;
+    STDMETHOD_(HXBOOL,FirstFrameDisplayed)(THIS) PURE;
 };
 
 


From gwright at helixcommunity.org  Wed Jul 12 10:24:58 2006
From: gwright at helixcommunity.org (gwright@helixcommunity.org)
Date: Wed Jul 12 12:00:48 2006
Subject: [Common-cvs] include hxiids.h,1.78.2.5,1.78.2.6
Message-ID: 

Update of /cvsroot/common/include
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv6580

Modified Files:
      Tag: hxclient_1_5_0_cayenne
	hxiids.h 
Log Message:
Removing uneeded ';'s to fix symbian builds.


Index: hxiids.h
===================================================================
RCS file: /cvsroot/common/include/hxiids.h,v
retrieving revision 1.78.2.5
retrieving revision 1.78.2.6
diff -u -d -r1.78.2.5 -r1.78.2.6
--- hxiids.h	7 Jul 2006 19:38:04 -0000	1.78.2.5
+++ hxiids.h	12 Jul 2006 17:24:56 -0000	1.78.2.6
@@ -328,7 +328,7 @@
 DEFINE_GUID_ENUM(IID_IHXPersistentRenderer, 0x00000301, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
 // $EndPrivate.
 DEFINE_GUID_ENUM(IID_IHXUntimedRenderer, 0x00000303, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
-DEFINE_GUID_ENUM(IID_IHXFrameInfo, 0x248e4030, 0x2cf1, 0x4b97, 0x82, 0xe1, 0xab, 0x7b, 0x8f, 0xa5, 0xa, 0xee);
+DEFINE_GUID_ENUM(IID_IHXFrameInfo, 0x248e4030, 0x2cf1, 0x4b97, 0x82, 0xe1, 0xab, 0x7b, 0x8f, 0xa5, 0xa, 0xee)
 
 
 /*
@@ -364,7 +364,7 @@
 DEFINE_GUID_ENUM(IID_IHXStream2,    0x00000400, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x5a)
 DEFINE_GUID_ENUM(IID_IHXStreamSource,   0x00000401, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
 DEFINE_GUID_ENUM(IID_IHXPlayer,     0x00000402, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
-DEFINE_GUID_ENUM(IID_IHXQuickSeek, 0x6eb157e9, 0xbfa3, 0x462c, 0xad, 0xac, 0x99, 0x54, 0xb6, 0x69, 0xed, 0x15);
+DEFINE_GUID_ENUM(IID_IHXQuickSeek, 0x6eb157e9, 0xbfa3, 0x462c, 0xad, 0xac, 0x99, 0x54, 0xb6, 0x69, 0xed, 0x15)
 DEFINE_GUID_ENUM(IID_IHXClientEngine,   0x00000403, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
 #ifdef _UNIX
 DEFINE_GUID_ENUM(IID_IHXClientEngineSelector,   0x00000404, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)


From gwright at helixcommunity.org  Wed Jul 12 10:25:55 2006
From: gwright at helixcommunity.org (gwright@helixcommunity.org)
Date: Wed Jul 12 12:01:45 2006
Subject: [Common-cvs] include hxiids.h,1.110,1.111
Message-ID: 

Update of /cvsroot/common/include
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv6875

Modified Files:
	hxiids.h 
Log Message:
Removing uneeded ';' to fix symbian builds.


Index: hxiids.h
===================================================================
RCS file: /cvsroot/common/include/hxiids.h,v
retrieving revision 1.110
retrieving revision 1.111
diff -u -d -r1.110 -r1.111
--- hxiids.h	7 Jul 2006 20:31:51 -0000	1.110
+++ hxiids.h	12 Jul 2006 17:25:53 -0000	1.111
@@ -340,7 +340,7 @@
 DEFINE_GUID_ENUM(IID_IHXPersistentRenderer, 0x00000301, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
 // $EndPrivate.
 DEFINE_GUID_ENUM(IID_IHXUntimedRenderer, 0x00000303, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
-DEFINE_GUID_ENUM(IID_IHXFrameInfo, 0x248e4030, 0x2cf1, 0x4b97, 0x82, 0xe1, 0xab, 0x7b, 0x8f, 0xa5, 0xa, 0xee);
+DEFINE_GUID_ENUM(IID_IHXFrameInfo, 0x248e4030, 0x2cf1, 0x4b97, 0x82, 0xe1, 0xab, 0x7b, 0x8f, 0xa5, 0xa, 0xee)
 
 
 /*
@@ -377,7 +377,7 @@
 DEFINE_GUID_ENUM(IID_IHXStreamSource,   0x00000401, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
 DEFINE_GUID_ENUM(IID_IHXStreamSource2, 0xc5a25d4d, 0xcd2c, 0x4bab, 0xb8, 0x3, 0xe2, 0x9a, 0x4d, 0x20, 0x81, 0xb1)
 DEFINE_GUID_ENUM(IID_IHXPlayer,     0x00000402, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
-DEFINE_GUID_ENUM(IID_IHXQuickSeek, 0x6eb157e9, 0xbfa3, 0x462c, 0xad, 0xac, 0x99, 0x54, 0xb6, 0x69, 0xed, 0x15);
+DEFINE_GUID_ENUM(IID_IHXQuickSeek, 0x6eb157e9, 0xbfa3, 0x462c, 0xad, 0xac, 0x99, 0x54, 0xb6, 0x69, 0xed, 0x15)
 DEFINE_GUID_ENUM(IID_IHXClientEngine,   0x00000403, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
 DEFINE_GUID_ENUM(IID_IHXClientEngine2,  0x00000403, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x5a)
 #ifdef _UNIX


From gwright at helixcommunity.org  Wed Jul 12 11:18:08 2006
From: gwright at helixcommunity.org (gwright@helixcommunity.org)
Date: Wed Jul 12 12:53:57 2006
Subject: [Common-cvs] build/BIF helix.bif,1.583,1.584
Message-ID: 

Update of /cvsroot/common/build/BIF
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv13101

Modified Files:
	helix.bif 
Log Message:
Fixing build buster on non windows machines. Missing dep for 
tone generator.



Index: helix.bif
===================================================================
RCS file: /cvsroot/common/build/BIF/helix.bif,v
retrieving revision 1.583
retrieving revision 1.584
diff -u -d -r1.583 -r1.584
--- helix.bif	15 Jun 2006 19:39:41 -0000	1.583
+++ helix.bif	12 Jul 2006 18:18:05 -0000	1.584
@@ -14032,7 +14032,7 @@
     
       
       
-        win32
+        unix mac win32 symbian openwave wince
       
 
       


From jzeng at helixcommunity.org  Fri Jul 14 14:02:21 2006
From: jzeng at helixcommunity.org (jzeng@helixcommunity.org)
Date: Fri Jul 14 15:37:39 2006
Subject: [Common-cvs] build/BIF helix.bif,1.584,1.585
Message-ID: 

Update of /cvsroot/common/build/BIF
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv3213

Modified Files:
	helix.bif 
Log Message:
remove unnecessary dependency.



Index: helix.bif
===================================================================
RCS file: /cvsroot/common/build/BIF/helix.bif,v
retrieving revision 1.584
retrieving revision 1.585
diff -u -d -r1.584 -r1.585
--- helix.bif	12 Jul 2006 18:18:05 -0000	1.584
+++ helix.bif	14 Jul 2006 21:02:18 -0000	1.585
@@ -11822,19 +11822,6 @@
       
     
 
-    
-    
-      
-        unix win32
-      
-
-      
-        common_include
-        common_dbgtool
-        common_runtime
-      
-    
-
     
     
       
@@ -11985,7 +11972,6 @@
         server_protocol_wmt_http
         server_protocol_common
 
-        server_datatype_asf_common
         server_engine_config
         server_engine_context
         server_engine_registry
@@ -12074,7 +12060,6 @@
         server_protocol_transport_rdt
         server_protocol_common
 
-        server_datatype_asf_common
         server_engine_config
         server_engine_context
         server_engine_core
@@ -12138,7 +12123,6 @@
         server_protocol_transport_rdt
         server_protocol_common
 
-        server_datatype_asf_common
         server_engine_config
         server_engine_context
         server_engine_core
@@ -12280,7 +12264,6 @@
         server_common_netio
         server_common_struct
         server_common_util
-        server_datatype_asf_common
         server_engine_config
         server_engine_context
         server_engine_core
@@ -12381,7 +12364,6 @@
         server_common_netio
         server_common_struct
         server_common_util
-        server_datatype_asf_common
         server_engine_config
         server_engine_context
         server_engine_core


From kliu at helixcommunity.org  Mon Jul 17 13:29:15 2006
From: kliu at helixcommunity.org (kliu@helixcommunity.org)
Date: Mon Jul 17 15:03:49 2006
Subject: [Common-cvs] CVSROOT avail,1.97,1.98
Message-ID: 

Update of /cvsroot/common/CVSROOT
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv24446/CVSROOT

Modified Files:
	avail 
Log Message:
giving lkimbro write access for the common project

Index: avail
===================================================================
RCS file: /cvsroot/common/CVSROOT/avail,v
retrieving revision 1.97
retrieving revision 1.98
diff -u -d -r1.97 -r1.98
--- avail	28 Jun 2006 22:07:50 -0000	1.97
+++ avail	17 Jul 2006 20:29:12 -0000	1.98
@@ -1,4 +1,5 @@
 unavail
+avail|lkimbro
 avail|krmccaw
 avail|kliu
 avail|mserver


From damann at helixcommunity.org  Mon Jul 17 14:17:01 2006
From: damann at helixcommunity.org (damann@helixcommunity.org)
Date: Mon Jul 17 15:51:33 2006
Subject: [Common-cvs] include hxresult.h,1.37.2.3,1.37.2.4
Message-ID: 

Update of /cvsroot/common/include
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv31177/include

Modified Files:
      Tag: hxclient_2_1_0_cayennes
	hxresult.h 
Log Message:
"Nokia submits this code under the terms of a commercial contribution agreement with Real Networks, and I am authorized to contribute this code under said agreement."

Modified by:
    darrin.mann@nokia.com

Reviewed by:
    gwright@real.com

Date: 
    July-17-2006

Project: 
    Helix plug-in for Symbian

Error ID: 
    DMAN-6RMSWB

Synopsis: 
    When DevVideo has an error, it makes a calls MdvpoFatalError() on the MDF video 
    adapter.  Since the video is lost, MDF issues an error on the IHXErrorMessages
    interface.  The error is propagated to the MMF and TLC and the player is closed.  
    A few memory leaks were removed also.

Files Modified: 
    clientapps/symbianMmf/hxmmfctrlimpl.cpp

    common/include/hxresult.h

    datatype/mdf/video/renderer/mdfpluginmanager.cpp
    datatype/mdf/video/renderer/mdfvideoadapter.cpp
    datatype/mdf/video/renderer/mdfvidrend.cpp
    datatype/mdf/video/renderer/pub/mdfvideoadapter.h

Files Added:
    None

Image Size and Heap Use impact: 
    None

Platforms and Profiles Build Verified: 
    helix-client-s60-mmf-mdf-arm

Platforms and Profiles Functionality verified: 
    winscw 
    armv5

Branch: 
    head and hxclient_2_1_0_cayennes 


Index: hxresult.h
===================================================================
RCS file: /cvsroot/common/include/hxresult.h,v
retrieving revision 1.37.2.3
retrieving revision 1.37.2.4
diff -u -d -r1.37.2.3 -r1.37.2.4
--- hxresult.h	7 Apr 2006 19:21:41 -0000	1.37.2.3
+++ hxresult.h	17 Jul 2006 21:16:58 -0000	1.37.2.4
@@ -169,7 +169,8 @@
 #define HXR_S_FALSE                     MAKE_HX_RESULT(0,SS_GLO,34)                 // 00040022
 #define HXR_WARNING                     MAKE_HX_RESULT(0,SS_GLO,35)                 // 00040023
 #define HXR_PARTIALPLAYBACK             MAKE_HX_RESULT(0,SS_GLO,36)                 // 00040024
-#define HXR_AUDIODEVICETAKEN            MAKE_HX_RESULT(0,SS_GLO,37)                 // 80040025
+#define HXR_AUDIODEVICETAKEN            MAKE_HX_RESULT(0,SS_GLO,37)                 // 00040025
+#define HXR_DEVVIDEO_FATAL_ERROR        MAKE_HX_RESULT(1,SS_GLO,38)                 // 80040026
 
 #define HXR_BUFFERING                   MAKE_HX_RESULT(0,SS_NET,0)                  // 00040040
 #define HXR_PAUSED                      MAKE_HX_RESULT(0,SS_NET,1)                  // 00040041


From damann at helixcommunity.org  Mon Jul 17 15:03:09 2006
From: damann at helixcommunity.org (damann@helixcommunity.org)
Date: Mon Jul 17 16:37:42 2006
Subject: [Common-cvs] include hxresult.h,1.41,1.42
Message-ID: 

Update of /cvsroot/common/include
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv25944

Modified Files:
	hxresult.h 
Log Message:
"Nokia submits this code under the terms of a commercial contribution agreement with Real Networks, and I am authorized to contribute this code under said agreement."

Modified by:
    darrin.mann@nokia.com

Reviewed by:
    gwright@real.com

Date: 
    July-17-2006

Project: 
    Helix plug-in for Symbian

Error ID: 
    DMAN-6RMSWB

Synopsis: 
    When DevVideo has an error, it makes a calls MdvpoFatalError() on the MDF video 
    adapter.  Since the video is lost, MDF issues an error on the IHXErrorMessages
    interface.  The error is propagated to the MMF and TLC and the player is closed.  
    A few memory leaks were removed also.

Files Modified: 
    clientapps/symbianMmf/hxmmfctrlimpl.cpp

    common/include/hxresult.h

    datatype/mdf/video/renderer/mdfpluginmanager.cpp
    datatype/mdf/video/renderer/mdfvideoadapter.cpp
    datatype/mdf/video/renderer/mdfvidrend.cpp
    datatype/mdf/video/renderer/pub/mdfvideoadapter.h

Files Added:
    None

Image Size and Heap Use impact: 
    None

Platforms and Profiles Build Verified: 
    helix-client-s60-mmf-mdf-arm

Platforms and Profiles Functionality verified: 
    winscw 
    armv5

Branch: 
    head and hxclient_2_1_0_cayennes 


Index: hxresult.h
===================================================================
RCS file: /cvsroot/common/include/hxresult.h,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -d -r1.41 -r1.42
--- hxresult.h	26 Jun 2006 13:53:46 -0000	1.41
+++ hxresult.h	17 Jul 2006 22:03:06 -0000	1.42
@@ -170,7 +170,8 @@
 #define HXR_S_FALSE                     MAKE_HX_RESULT(0,SS_GLO,34)                 // 00040022
 #define HXR_WARNING                     MAKE_HX_RESULT(0,SS_GLO,35)                 // 00040023
 #define HXR_PARTIALPLAYBACK             MAKE_HX_RESULT(0,SS_GLO,36)                 // 00040024
-#define HXR_AUDIODEVICETAKEN            MAKE_HX_RESULT(0,SS_GLO,37)                 // 80040025
+#define HXR_AUDIODEVICETAKEN            MAKE_HX_RESULT(0,SS_GLO,37)                 // 00040025
+#define HXR_DEVVIDEO_FATAL_ERROR        MAKE_HX_RESULT(1,SS_GLO,38)                 // 80040026
 
 #define HXR_BUFFERING                   MAKE_HX_RESULT(0,SS_NET,0)                  // 00040040
 #define HXR_PAUSED                      MAKE_HX_RESULT(0,SS_NET,1)                  // 00040041


From kliu at helixcommunity.org  Tue Jul 18 12:36:13 2006
From: kliu at helixcommunity.org (kliu@helixcommunity.org)
Date: Tue Jul 18 14:10:32 2006
Subject: [Common-cvs] CVSROOT avail,1.98,1.99
Message-ID: 

Update of /cvsroot/common/CVSROOT
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv19623/CVSROOT

Modified Files:
	avail 
Log Message:
giving srao write access for the common project

Index: avail
===================================================================
RCS file: /cvsroot/common/CVSROOT/avail,v
retrieving revision 1.98
retrieving revision 1.99
diff -u -d -r1.98 -r1.99
--- avail	17 Jul 2006 20:29:12 -0000	1.98
+++ avail	18 Jul 2006 19:36:11 -0000	1.99
@@ -1,4 +1,5 @@
 unavail
+avail|srao
 avail|lkimbro
 avail|krmccaw
 avail|kliu


From kliu at helixcommunity.org  Tue Jul 18 12:36:19 2006
From: kliu at helixcommunity.org (kliu@helixcommunity.org)
Date: Tue Jul 18 14:10:38 2006
Subject: [Common-cvs] CVSROOT avail,1.99,1.100
Message-ID: 

Update of /cvsroot/common/CVSROOT
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv19649/CVSROOT

Modified Files:
	avail 
Log Message:
giving asrivastava write access for the common project

Index: avail
===================================================================
RCS file: /cvsroot/common/CVSROOT/avail,v
retrieving revision 1.99
retrieving revision 1.100
diff -u -d -r1.99 -r1.100
--- avail	18 Jul 2006 19:36:11 -0000	1.99
+++ avail	18 Jul 2006 19:36:17 -0000	1.100
@@ -1,4 +1,5 @@
 unavail
+avail|asrivastava
 avail|srao
 avail|lkimbro
 avail|krmccaw


From kliu at helixcommunity.org  Wed Jul 19 09:34:29 2006
From: kliu at helixcommunity.org (kliu@helixcommunity.org)
Date: Wed Jul 19 11:08:36 2006
Subject: [Common-cvs] CVSROOT avail,1.100,1.101
Message-ID: 

Update of /cvsroot/common/CVSROOT
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv12141/CVSROOT

Modified Files:
	avail 
Log Message:
granting vishnuk write access for the common project

Index: avail
===================================================================
RCS file: /cvsroot/common/CVSROOT/avail,v
retrieving revision 1.100
retrieving revision 1.101
diff -u -d -r1.100 -r1.101
--- avail	18 Jul 2006 19:36:17 -0000	1.100
+++ avail	19 Jul 2006 16:34:27 -0000	1.101
@@ -1,4 +1,5 @@
 unavail
+avail|vishnuk
 avail|asrivastava
 avail|srao
 avail|lkimbro


From milko at helixcommunity.org  Thu Jul 20 16:15:17 2006
From: milko at helixcommunity.org (milko@helixcommunity.org)
Date: Thu Jul 20 17:49:04 2006
Subject: [Common-cvs] build/BIF helix.bif,1.585,1.586
Message-ID: 

Update of /cvsroot/common/build/BIF
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv27369

Modified Files:
	helix.bif 
Log Message:
Added datatype_rtsp_fileformat target. ----------------------------------------------------------------------


Index: helix.bif
===================================================================
RCS file: /cvsroot/common/build/BIF/helix.bif,v
retrieving revision 1.585
retrieving revision 1.586
diff -u -d -r1.585 -r1.586
--- helix.bif	14 Jul 2006 21:02:18 -0000	1.585
+++ helix.bif	20 Jul 2006 23:15:10 -0000	1.586
@@ -7150,6 +7150,37 @@
       
 
     
+    
+    
+        
+    
+
+      
+        unix mac win32 symbian openwave wince
+      
+
+      
+        helix-client-local-mp3
+        helix-client-local-ra-mp3
+        helix-client-local-ra
+        helix-client-local-ra-rv
+        helix-client-local-ra-rv-mp3
+      
+
+      
+        common_include
+        client_include
+      
+
+      
+        common_runtime
+        common_dbgtool
+        common_container
+        common_util
+        common_system
+        common_log_logutil
+      
+    
 
     
     
@@ -13882,6 +13913,7 @@
 	datatype_smil_renderer
 	datatype_text_realtext_fileformat
 	datatype_text_realtext_renderer
+	datatype_rtsp_fileformat
 	filesystem_http
 	filesystem_local
 	filesystem_memory


From cdunn at helixcommunity.org  Thu Jul 20 18:40:31 2006
From: cdunn at helixcommunity.org (cdunn@helixcommunity.org)
Date: Thu Jul 20 20:14:18 2006
Subject: [Common-cvs] include hxiids.h,1.111,1.112 hxengin.h,1.29,1.30
Message-ID: 

Update of /cvsroot/common/include
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv14491

Modified Files:
	hxiids.h hxengin.h 
Log Message:
Add IHXAsyncTimer

Index: hxiids.h
===================================================================
RCS file: /cvsroot/common/include/hxiids.h,v
retrieving revision 1.111
retrieving revision 1.112
diff -u -d -r1.111 -r1.112
--- hxiids.h	12 Jul 2006 17:25:53 -0000	1.111
+++ hxiids.h	21 Jul 2006 01:40:29 -0000	1.112
@@ -156,6 +156,7 @@
  *      IID_IHXMutex:               {00000116-0901-11d1-8B06-00A024406D59}
  *      IID_IHXThread:              {00000116-0911-11d1-8B06-00A024406D59}
  *      IID_IHXEvent:               {00000116-0921-11d1-8B06-00A024406D59}
+ *      IID_IHXAsyncTimer:          {B9141021-E008-496b-8D78-7694E7274F8A}
  *      IID_IHXNetworkInterfaceEnumerator{00000121-0901-11d1-8B06-00A024406D59}
  *      IID_IHXUDPConnectedSocket  {0000012A-0901-11d1-8B06-00A024406D59}
 // $Private:
@@ -202,6 +203,7 @@
 DEFINE_GUID_ENUM(IID_IHXMutex,          0x00000116, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
 DEFINE_GUID_ENUM(IID_IHXThread,		0x00000116, 0x911, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
 DEFINE_GUID_ENUM(IID_IHXEvent,		0x00000116, 0x921, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
+DEFINE_GUID_ENUM(IID_IHXAsyncTimer,	0xb9141021, 0xe008, 0x496b, 0x8d, 0x78, 0x76, 0x94, 0xe7, 0x27, 0x4f, 0x8a)
 DEFINE_GUID_ENUM(IID_IHXNetworkInterfaceEnumerator,0x00000121, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
 DEFINE_GUID_ENUM(IID_IHXUDPConnectedSocket,     0x0000012a, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
 // $Private:

Index: hxengin.h
===================================================================
RCS file: /cvsroot/common/include/hxengin.h,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -d -r1.29 -r1.30
--- hxengin.h	22 Jun 2006 20:42:37 -0000	1.29
+++ hxengin.h	21 Jul 2006 01:40:29 -0000	1.30
@@ -93,6 +93,14 @@
 typedef _INTERFACE      IHXAutoBWCalibrationAdviseSink  IHXAutoBWCalibrationAdviseSink;
 typedef _INTERFACE	IHXPreferredTransport		IHXPreferredTransport;
 
+// TIMERPROC used in IHXAsyncTimer
+#if defined( _WINDOWS )
+#include "hlxclib/windows.h"
+#endif
+#if !defined( _WIN32 ) && !defined( _WINDOWS )
+typedef void (*TIMERPROC)( void* , UINT32 , UINT32, ULONG32 );
+#endif
+
 /*
  * Address flags starting with PNR are depricated.
  */
@@ -2146,6 +2154,66 @@
 					UINT32 ulTimeoutPeriod) PURE;
 };
 
+/****************************************************************************
+ * 
+ *  Interface:
+ * 
+ *	IHXAsyncTimer
+ * 
+ *  IID_IHXAsyncTimer:
+ *	{B9141021-E008-496b-8D78-7694E7274F8A}
+ * 
+ */
+DEFINE_GUID(IID_IHXAsyncTimer, 0xb9141021, 0xe008, 0x496b, 0x8d, 0x78, 0x76,
+				0x94, 0xe7, 0x27, 0x4f, 0x8a);
+
+#undef  INTERFACE
+#define INTERFACE   IHXAsyncTimer
+
+/*
+ *  The IHXCommonClassFactory supports creating an instance
+ *  of this object.
+ */
+#define CLSID_IHXAsyncTimer IID_IHXAsyncTimer
+
+DECLARE_INTERFACE_(IHXAsyncTimer, IUnknown)
+{
+    /*
+     *	IUnknown methods
+     */
+    STDMETHOD(QueryInterface)		(THIS_
+					REFIID riid,
+					void** ppvObj) PURE;
+
+    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;
+
+    STDMETHOD_(ULONG32,Release)		(THIS) PURE;
+
+    /*
+     *	IHXAsyncTimer methods
+     */
+
+    // HXMSG_ASYNC_TIMER messages will be posted to
+    // pReceivingThread's message queue every ulTimeOut milliseconds.
+    // until KillTimer is called.
+    // NOTE: under _WIN32 pReceivingThread is IGNORED and the calling
+    // thread is the one to recieve the timer messages (WM_TIMER).
+    STDMETHOD(SetTimer)  (THIS_
+	    		   ULONG32 ulTimeOut,
+			   IHXThread* pReceivingThread) PURE;
+
+    // pfExecFunc will be called every ulTimeOut ms
+    STDMETHOD(SetTimer)  (THIS_
+	    		   ULONG32 ulTimeOut,
+			   TIMERPROC pfExecFunc) PURE;
+
+    // Get the timer id (thread id for non-windows platform), returns 0 for invalid timer
+    STDMETHOD_(ULONG32,GetID) (THIS) PURE;
+
+    // Timer is stopped
+    STDMETHOD(KillTimer) (THIS) PURE;
+};
+
 // $Private:
 /****************************************************************************
  * 


From cdunn at helixcommunity.org  Thu Jul 20 18:42:08 2006
From: cdunn at helixcommunity.org (cdunn@helixcommunity.org)
Date: Thu Jul 20 20:15:54 2006
Subject: [Common-cvs] system chxthread.cpp,1.3,1.4
Message-ID: 

Update of /cvsroot/common/system
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv18026

Modified Files:
	chxthread.cpp 
Log Message:
Add CHXAsyncTimer

Index: chxthread.cpp
===================================================================
RCS file: /cvsroot/common/system/chxthread.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- chxthread.cpp	8 Mar 2006 19:13:38 -0000	1.3
+++ chxthread.cpp	21 Jul 2006 01:42:06 -0000	1.4
@@ -49,6 +49,7 @@
 
 #include "chxthread.h"
 #include "hxthread.h"
+#include "pckunpck.h"
 
 CHXThread::CHXThread()
 	  :m_lRefCount(0)
@@ -77,12 +78,12 @@
     return ::QIFind(qiList, QILISTSIZE(qiList), riid, ppvObj);
 }
 
-ULONG32 CHXThread::AddRef()
+STDMETHODIMP_(ULONG32) CHXThread::AddRef()
 {
     return InterlockedIncrement(&m_lRefCount);
 }
 
-ULONG32 CHXThread::Release()
+STDMETHODIMP_(ULONG32) CHXThread::Release()
 {
     if (InterlockedDecrement(&m_lRefCount) > 0)
     {
@@ -419,3 +420,118 @@
     }
     return rc;
 }
+
+
+//
+// CHXAsyncTimer
+//
+CHXAsyncTimer::CHXAsyncTimer(IUnknown* pContext)
+	  :m_lRefCount(0)
+{
+#ifdef _WIN32
+    // Windows timer does not use a message pump or mutex lock
+    HXAsyncTimer::MakeAsyncTimer(m_pAsyncTimer);
+#else
+    // Create the message pump thread and the mutex
+    HX_ASSERT(pContext);
+
+    IHXThread* pMessagePump=NULL;
+    IHXMutex* pMutexMapLock=NULL;
+
+    CreateInstanceCCF(CLSID_IHXThread, (void**)&pMessagePump, pContext);
+    CreateInstanceCCF(CLSID_IHXMutex, (void**)&pMutexMapLock, pContext);
+
+    HX_ASSERT( pMessagePump );
+    HX_ASSERT( pMutexMapLock );
+
+    HXAsyncTimer::MakeAsyncTimer(m_pAsyncTimer, pMessagePump, pMutexMapLock);
+#endif
+
+    HX_ASSERT( m_pAsyncTimer );
+}
+
+CHXAsyncTimer::CHXAsyncTimer(IHXThread* pMessagePump, IHXMutex* pMutexMapLock)
+	  :m_lRefCount(0)
+{
+    HXAsyncTimer::MakeAsyncTimer(m_pAsyncTimer, pMessagePump, pMutexMapLock);
+
+    HX_ASSERT( m_pAsyncTimer );
+
+}
+
+CHXAsyncTimer::~CHXAsyncTimer()
+{
+    KillTimer();
+    HX_DELETE(m_pAsyncTimer);
+}
+
+STDMETHODIMP CHXAsyncTimer::QueryInterface(REFIID riid, void** ppvObj)
+{
+    QInterfaceList qiList[] =
+        {
+            { GET_IIDHANDLE(IID_IHXAsyncTimer), (IHXAsyncTimer*)this },
+            { GET_IIDHANDLE(IID_IUnknown), (IUnknown*)(IHXAsyncTimer*)this },
+        };
+    
+    return ::QIFind(qiList, QILISTSIZE(qiList), riid, ppvObj);
+}
+
+STDMETHODIMP_(ULONG32) CHXAsyncTimer::AddRef()
+{
+    return InterlockedIncrement(&m_lRefCount);
+}
+
+STDMETHODIMP_(ULONG32) CHXAsyncTimer::Release()
+{
+    if (InterlockedDecrement(&m_lRefCount) > 0)
+    {
+        return m_lRefCount;
+    }
+
+    delete this;
+    return 0;
+}
+
+STDMETHODIMP
+CHXAsyncTimer::SetTimer(ULONG32 ulTimeOut, IHXThread* pReceivingThread)
+{
+    HX_RESULT hr = HXR_FAIL;
+    if (m_pAsyncTimer)
+    {
+	hr = m_pAsyncTimer->SetTimer(ulTimeOut, pReceivingThread);
+    }
+    return hr;
+}
+
+STDMETHODIMP
+CHXAsyncTimer::SetTimer(ULONG32 ulTimeOut, TIMERPROC pfExecFunc)
+{
+    HX_RESULT hr = HXR_FAIL;
+    if (m_pAsyncTimer)
+    {
+	hr = m_pAsyncTimer->SetTimer(ulTimeOut, pfExecFunc);
+    }
+    return hr;
+}
+
+STDMETHODIMP_(ULONG32)
+CHXAsyncTimer::GetID()
+{
+    ULONG32 ulID = 0;
+    if (m_pAsyncTimer)
+    {
+	ulID  = m_pAsyncTimer->GetID();
+    }
+    return ulID;
+}
+STDMETHODIMP
+CHXAsyncTimer::KillTimer()
+{
+    HX_RESULT hr = HXR_FAIL;
+    if (m_pAsyncTimer)
+    {
+	hr  = m_pAsyncTimer->KillTimer();
+    }
+    return hr;
+}
+


From cdunn at helixcommunity.org  Thu Jul 20 18:42:08 2006
From: cdunn at helixcommunity.org (cdunn@helixcommunity.org)
Date: Thu Jul 20 20:15:54 2006
Subject: [Common-cvs] system/pub chxthread.h,1.3,1.4
Message-ID: 

Update of /cvsroot/common/system/pub
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv18026/pub

Modified Files:
	chxthread.h 
Log Message:
Add CHXAsyncTimer

Index: chxthread.h
===================================================================
RCS file: /cvsroot/common/system/pub/chxthread.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- chxthread.h	8 Mar 2006 19:13:39 -0000	1.3
+++ chxthread.h	21 Jul 2006 01:42:06 -0000	1.4
@@ -136,4 +136,36 @@
     STDMETHOD(Wait)			(THIS_
 					UINT32 ulTimeoutPeriod);
 };
+
+class CHXAsyncTimer : public IHXAsyncTimer
+{
+public:
+
+    CHXAsyncTimer(IUnknown* pContext);
+    CHXAsyncTimer(IHXThread* pMessagePump, IHXMutex* pMutexMapLock);
+    ~CHXAsyncTimer();
+
+    STDMETHOD(QueryInterface)   (THIS_ REFIID riid, void** ppvObj);
+    STDMETHOD_(ULONG32,AddRef)  (THIS);
+    STDMETHOD_(ULONG32,Release) (THIS);
+
+    // IHXAsyncTimer methods
+    STDMETHOD(SetTimer)  (THIS_
+	    		   ULONG32 ulTimeOut,
+			   IHXThread* pReceivingThread);
+
+    STDMETHOD(SetTimer)  (THIS_
+	    		   ULONG32 ulTimeOut,
+			   TIMERPROC pfExecFunc);
+
+    STDMETHOD_(ULONG32,GetID) (THIS);
+
+    STDMETHOD(KillTimer) (THIS);
+
+private:
+    INT32	  m_lRefCount;
+    HXAsyncTimer* m_pAsyncTimer;
+
+};
+
 #endif /*_CHXTHREAD_H_*/


From cdunn at helixcommunity.org  Thu Jul 20 18:43:36 2006
From: cdunn at helixcommunity.org (cdunn@helixcommunity.org)
Date: Thu Jul 20 20:17:21 2006
Subject: [Common-cvs] system hxthread.cpp,1.12,1.13
Message-ID: 

Update of /cvsroot/common/system
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv20423

Modified Files:
	hxthread.cpp 
Log Message:
Change HXAsyncTimer to non-static interface.

Index: hxthread.cpp
===================================================================
RCS file: /cvsroot/common/system/hxthread.cpp,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- hxthread.cpp	23 Feb 2006 22:31:02 -0000	1.12
+++ hxthread.cpp	21 Jul 2006 01:43:33 -0000	1.13
@@ -254,46 +254,82 @@
 
 
 //
-// HXAsyncTimer mehtods.
+// HXAsyncTimer methods.
 //
-UINT32 HXAsyncTimer::SetTimer(IUnknown* pContext, ULONG32 ulTimeOut, IHXThread* pReceivingThread )
+UINT32 HXAsyncTimer::m_ulTimerID = 0;
+HXAsyncTimer::HXAsyncTimer()
+{
+    m_ulTimerID = 0;
+}
+
+HX_RESULT	
+HXAsyncTimer::MakeAsyncTimer(HXAsyncTimer*& pAsyncTimer,
+				IHXThread* pMessagePump, IHXMutex* pMutexMapLock)
 {
+    HX_RESULT hr =HXR_OK;
+    pAsyncTimer = NULL;
 #ifdef _WIN32
-    return ::SetTimer( NULL, NULL, ulTimeOut, NULL );
+    pAsyncTimer = new HXAsyncTimer();
 #elif defined( _UNIX_THREADS_SUPPORTED )
-    return HXUnixAsyncTimer::SetTimer(pContext, ulTimeOut, pReceivingThread );
+    pAsyncTimer = new HXUnixAsyncTimer(pMessagePump, pMutexLock);
 #elif defined _SYMBIAN
-    return HXSymbianAsyncTimer::SetTimer(pContext, ulTimeOut, pReceivingThread );
+    //XXXctd TODO: pAsyncTimer = new HXSymbianAsyncTimer(pMessagePump, pMutexLock);
 #else
-    return 0;
-//#   error HXAsyncTimer::SetTimer not defined on this platform.
+//#   error HXAsyncTimer not defined on this platform.
+#endif        
+    if (!pAsyncTimer)
+    {
+	return HXR_OUTOFMEMORY;
+    }
+
+    return HXR_OK;
+
+}
+
+HXAsyncTimer::~HXAsyncTimer()
+{
+    KillTimer();
+}
+
+HX_RESULT
+HXAsyncTimer::SetTimer(ULONG32 ulTimeOut, IHXThread* pReceivingThread )
+{
+    HX_RESULT hr=HXR_FAIL;
+#ifdef _WIN32
+    m_ulTimerID = ::SetTimer( NULL, NULL, ulTimeOut, NULL );
+    hr = (m_ulTimerID != 0) ? HXR_OK : HXR_FAIL;
 #endif        
+    return hr;
 }
     
-UINT32 HXAsyncTimer::SetTimer(IUnknown* pContext, ULONG32 ulTimeOut, TIMERPROC pfExecFunc )
+HX_RESULT
+HXAsyncTimer::SetTimer(ULONG32 ulTimeOut, TIMERPROC pfExecFunc )
 {
+    HX_RESULT hr=HXR_FAIL;
 #ifdef _WIN32
-    return ::SetTimer( NULL, NULL, ulTimeOut, pfExecFunc );
-#elif defined( _UNIX_THREADS_SUPPORTED )
-    return HXUnixAsyncTimer::SetTimer(pContext, ulTimeOut, pfExecFunc );
-#elif defined _SYMBIAN
-    return HXSymbianAsyncTimer::SetTimer(pContext, ulTimeOut, pfExecFunc );
-#else
-    return 0;
-//#   error HXAsyncTimer::SetTimer not defined on this platform.
+    m_ulTimerID = ::SetTimer( NULL, NULL, ulTimeOut, pfExecFunc );
+    hr = (m_ulTimerID != 0) ? HXR_OK : HXR_FAIL;
 #endif        
+    return hr;
 }
     
-HXBOOL HXAsyncTimer::KillTimer(UINT32 ulTimerID )
+ULONG32
+HXAsyncTimer::GetID()
 {
+    return m_ulTimerID;
+}
+
+HX_RESULT
+HXAsyncTimer::KillTimer()
+{
+    HX_RESULT hr=HXR_FAIL;
 #ifdef _WIN32
-    return ::KillTimer( NULL, ulTimerID );
-#elif defined( _UNIX_THREADS_SUPPORTED )
-    return HXUnixAsyncTimer::KillTimer(ulTimerID );
-#elif defined _SYMBIAN
-    return HXSymbianAsyncTimer::KillTimer(ulTimerID);
-#else
-    return TRUE;
-//#   error HXAsyncTimer::KillTimer not defined on this platform.
+    if (m_ulTimerID != 0)
+    {
+        hr = (::KillTimer( NULL, m_ulTimerID )) ? HXR_OK : HXR_FAIL;
+	m_ulTimerID = 0;
+    }
 #endif        
+    return hr;
 }
+


From cdunn at helixcommunity.org  Thu Jul 20 18:43:36 2006
From: cdunn at helixcommunity.org (cdunn@helixcommunity.org)
Date: Thu Jul 20 20:17:22 2006
Subject: [Common-cvs] system/pub hxthread.h,1.13,1.14
Message-ID: 

Update of /cvsroot/common/system/pub
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv20423/pub

Modified Files:
	hxthread.h 
Log Message:
Change HXAsyncTimer to non-static interface.

Index: hxthread.h
===================================================================
RCS file: /cvsroot/common/system/pub/hxthread.h,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- hxthread.h	24 Feb 2006 01:12:55 -0000	1.13
+++ hxthread.h	21 Jul 2006 01:43:34 -0000	1.14
@@ -57,13 +57,6 @@
 
 #define ALLFS	0xFFFFFFFF
 
-#if defined( _WINDOWS )
-#include "hlxclib/windows.h"
-#endif
-#if !defined( _WIN32 ) && !defined( _WINDOWS )
-typedef void (*TIMERPROC)( void* , UINT32 , UINT32, ULONG32 );
-#endif
-
 #if defined(HELIX_FEATURE_NETWORK_USE_SELECT)
 class conn;
 #endif //defined(HELIX_FEATURE_NETWORK_USE_SELECT)
@@ -176,18 +169,30 @@
 class HXAsyncTimer
 {
 public:
+    static HX_RESULT MakeAsyncTimer(HXAsyncTimer*& pAsyncTimer, IHXThread* pMessagePump=NULL, IHXMutex* pMutex=NULL);
+    virtual ~HXAsyncTimer();
+
     // HXMSG_ASYNC_TIMER messages will be posted to
     // pReceivingThread's message queue every ulTimeOut milliseconds.
     // until KillTimer is called.
     // NOTE: under _WIN32 pReceivingThread is IGNORED and the calling
-    // thread is the one to recieve the timer messages (WM_TIMER).
-    static UINT32 SetTimer(IUnknown* pContext, ULONG32 ulTimeOut, IHXThread* pReceivingThread );
+    // thread is the one to receive the timer messages (WM_TIMER).
+    virtual HX_RESULT SetTimer(ULONG32 ulTimeOut, IHXThread* pReceivingThread );
 
     // pfExecFunc will be called every ulTimeOut milliseconds.
-    static UINT32 SetTimer(IUnknown* pContext, ULONG32 ulTimeOut, TIMERPROC pfExecFunc );
+    virtual HX_RESULT SetTimer(ULONG32 ulTimeOut, TIMERPROC pfExecFunc );
 
-    // ulTimeOut timer is killed/removed.
-    static HXBOOL   KillTimer(UINT32 ulTimerID );
+    // Get the timer id
+    virtual ULONG32 GetID();
+
+    // timer is stopped.
+    virtual HX_RESULT KillTimer();
+
+protected:
+    HXAsyncTimer();
+
+private:
+    static UINT32 m_ulTimerID;
 };
 
 #define HX_LOCK(x)      \


From cdunn at helixcommunity.org  Thu Jul 20 18:45:43 2006
From: cdunn at helixcommunity.org (cdunn@helixcommunity.org)
Date: Thu Jul 20 20:19:31 2006
Subject: [Common-cvs] system/pub/platform/unix UnixThreads.h,1.9,1.10
Message-ID: 

Update of /cvsroot/common/system/pub/platform/unix
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv23064/pub/platform/unix

Modified Files:
	UnixThreads.h 
Log Message:
Change async timer interface, derive from HXAsyncTimer.

Index: UnixThreads.h
===================================================================
RCS file: /cvsroot/common/system/pub/platform/unix/UnixThreads.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- UnixThreads.h	24 Feb 2006 01:12:56 -0000	1.9
+++ UnixThreads.h	21 Jul 2006 01:45:41 -0000	1.10
@@ -291,32 +291,21 @@
 };
 
 
-class HXUnixAsyncTimer
+class HXUnixAsyncTimer : public HXAsyncTimer
 {
 public:
-
-    //
-    // These two methods are the main interface into this class. It 
-    // make it work just like the windows ::SetTimer and ::KillTimer
-    // functions.
-    static UINT32 SetTimer(IUnknown* pContext, ULONG32 ulTimeOut, IHXThread* pReceivingThread );
-    static UINT32 SetTimer(IUnknown* pContext, ULONG32 ulTimeOut, TIMERPROC pfExecFunc );
-    static HXBOOL KillTimer(UINT32 ulTimerID );
-        
-protected:
-    
-    //This starts the message pump sending HXMSG_ASYNC_TIMER messages
-    //to pReceivingThread's queue every ulThreadId milliseconds.
-    HXUnixAsyncTimer( IUnknown* pContext, ULONG32 ulTimeOut, IHXThread* pReceivingThread );
-
-    //This starts the timer and calls pfExecFunc every ulTimeOut milliseconds.
-    HXUnixAsyncTimer( IUnknown* pContext, ULONG32 ulTimeOut, TIMERPROC pfExecFunc );
-    
+    HXUnixAsyncTimer(IHXThread* pMessagePump, IHXMutex* pMutexMapLock);
     //this kills the timer and stops pumping messages/func calls.
     ~HXUnixAsyncTimer();
 
+    HX_RESULT SetTimer(ULONG32 ulTimeOut, IHXThread* pReceivingThread );
+    HX_RESULT SetTimer(ULONG32 ulTimeOut, TIMERPROC pfExecFunc );
+    HX_RESULT KillTimer();
+
     //This returns that ID of this timer (threadID).
-    inline ULONG32 GetID();
+    ULONG32 GetID();
+        
+protected:
 
     //This is the actual message pump.
     static void* _ActualMessagePump(void* pArg);
@@ -326,14 +315,11 @@
     ULONG32           m_ulTimeOut;
     IHXThread*        m_pReceivingThread;
     IHXThread*	      m_pMessagePump;
+    IHXMutex*         m_pmtxMapLock;
     HXThreadMessage*  m_pMsg;
     HXThreadMessage   m_msgTmp;  //This is a per-class msg to be used by the message pump.
     TIMERPROC         m_pfExecFunc;
     
-    //Support for setting/killing timers by ID.
-    static IHXMutex*       m_pmtxMapLock;
-    static CHXMapLongToObj m_mapTimers;
-    
     //Don't allow default/copy ctors or assignment oper. You can't dup this class.
     HXUnixAsyncTimer();
     HXUnixAsyncTimer( const HXUnixAsyncTimer& it );


From cdunn at helixcommunity.org  Thu Jul 20 18:45:44 2006
From: cdunn at helixcommunity.org (cdunn@helixcommunity.org)
Date: Thu Jul 20 20:19:31 2006
Subject: [Common-cvs] system/platform/unix UnixThreads.cpp,1.17,1.18
Message-ID: 

Update of /cvsroot/common/system/platform/unix
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv23064/platform/unix

Modified Files:
	UnixThreads.cpp 
Log Message:
Change async timer interface, derive from HXAsyncTimer.

Index: UnixThreads.cpp
===================================================================
RCS file: /cvsroot/common/system/platform/unix/UnixThreads.cpp,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- UnixThreads.cpp	24 Feb 2006 01:53:35 -0000	1.17
+++ UnixThreads.cpp	21 Jul 2006 01:45:41 -0000	1.18
@@ -814,54 +814,32 @@
 //
 //=======================================================================   
 
-//Static data initializers
-IHXMutex*       HXUnixAsyncTimer::m_pmtxMapLock = NULL;
-CHXMapLongToObj HXUnixAsyncTimer::m_mapTimers;
-
 //Timeouts are in miliseconds.
-HXUnixAsyncTimer::HXUnixAsyncTimer( IUnknown* pContext, ULONG32 ulTimeOut, IHXThread* pReceivingThread )
-    : m_ulTimeOut( ulTimeOut ),
-      m_pReceivingThread( pReceivingThread ),
-      m_pMessagePump( NULL ),
+HXUnixAsyncTimer::HXUnixAsyncTimer( IHXThread* pMessagePump, IHXMutex* pmtxMapLock )
+    : m_ulTimeOut( 0 ),
+      m_pReceivingThread( NULL ),
+      m_pMessagePump( pMessagePump ),
+      m_pmtxMapLock( pmtxMapLock ),
       m_pMsg(NULL),
       m_pfExecFunc(NULL)
 {
     //Make the message to pump.
     m_pMsg = new HXThreadMessage( HXMSG_ASYNC_TIMER, (void*)m_ulTimeOut, NULL, NULL );
     
-    //Start the thread. We have to do this weird casting because
-    //the HXThread::MakeThread takes HXThread*&....
-    CreateInstanceCCF(CLSID_IHXThread, (void**)&m_pMessagePump, pContext);
-    HX_ASSERT( m_pMessagePump );
-    m_pMessagePump->CreateThread( _ActualMessagePump, (void*)this, 0 );
-}
+    HX_ASSERT(m_pMessagePump);
+
+    HX_ADDREF(m_pMessagePump);
+    HX_ADDREF(m_pmtxMapLock);
 
-HXUnixAsyncTimer::HXUnixAsyncTimer( IUnknown* pContext, ULONG32 ulTimeOut, TIMERPROC pfExecFunc )
-    : m_ulTimeOut( ulTimeOut ),
-      m_pReceivingThread(NULL),
-      m_pMessagePump(NULL),
-      m_pMsg(NULL),
-      m_pfExecFunc( pfExecFunc )
-{
-    //we need non-null pfExecFunc
-    HX_ASSERT( m_pfExecFunc != NULL );
-    
-    //Start the thread.
-    CreateInstanceCCF(CLSID_IHXThread, (void**)&m_pMessagePump, pContext);
-    HX_ASSERT( m_pMessagePump );
-    m_pMessagePump->CreateThread( _ActualMessagePump, (void*)this, 0 );
 }
 
 HXUnixAsyncTimer::~HXUnixAsyncTimer()    
 {
-   //Tell the message pump to quit.
-    HXThreadMessage msgQuit(HXMSG_QUIT, NULL, NULL);
-    m_pMessagePump->PostMessage( &msgQuit, NULL );
-
-    //Wait for it to stop.
-    m_pMessagePump->Terminate();
+    KillTimer();
     HX_RELEASE(m_pMessagePump);
     HX_DELETE(m_pMsg);
+
+    HX_RELEASE(m_pmtxMapLock);
 }
 
 ULONG32 HXUnixAsyncTimer::GetID()
@@ -898,92 +876,76 @@
 }
 #undef PARG
 
-UINT32 HXUnixAsyncTimer::SetTimer(IUnknown* pContext, ULONG32 ulTimeOut, IHXThread* pReceivingThread )
+HX_RESULT
+HXUnixAsyncTimer::SetTimer(ULONG32 ulTimeOut, IHXThread* pReceivingThread )
 {
-    if( m_pmtxMapLock == NULL )
-    {
-	CreateInstanceCCF(CLSID_IHXMutex, (void**)&m_pmtxMapLock, pContext);
-        HX_ASSERT( m_pmtxMapLock );
-    }
-    
+    HX_RESULT hr=HXR_OK;
+
     //lock it.
     HX_LOCK(m_pmtxMapLock);
-
-    ULONG32 ulTimerID = 0;
     
     HX_ASSERT( ulTimeOut != 0 );
     HX_ASSERT( pReceivingThread != NULL );
-    
-    HXUnixAsyncTimer* pTimer = new HXUnixAsyncTimer(pContext, ulTimeOut, pReceivingThread );
-    HX_ASSERT( pTimer != NULL );
-    if( pTimer != NULL )
-    {
-        //Add new timer to map.
-        ulTimerID = pTimer->GetID();
-        m_mapTimers.SetAt( ulTimerID, (void*)pTimer );    
-    }
+
+    // Set the timout value (ms), and the receiving thread
+    m_ulTimeOut = ulTimeOut;
+    m_pReceivingThread = pReceivingThread;
+    HX_ADDREF(m_pReceivingThread);
+
+    // Start the thread
+    hr = m_pMessagePump->CreateThread( _ActualMessagePump, (void*)this, 0 );
     
     //unlock the map.
     HX_UNLOCK(m_pmtxMapLock);
 
-    return ulTimerID;
+    return hr;
 }
 
-UINT32 HXUnixAsyncTimer::SetTimer(IUnknown* pContext, ULONG32 ulTimeOut, TIMERPROC pfExecFunc )
+HX_RESULT
+HXUnixAsyncTimer::SetTimer(ULONG32 ulTimeOut, TIMERPROC pfExecFunc )
 {
-    if( m_pmtxMapLock == NULL )
-    {
-	CreateInstanceCCF(CLSID_IHXMutex, (void**)&m_pmtxMapLock, pContext);
-        HX_ASSERT( m_pmtxMapLock );
-    }
-    
+    HX_RESULT hr=HXR_OK;
+
     //lock it.
     HX_LOCK(m_pmtxMapLock);
-
-    ULONG32 ulTimerID = 0;
     
     HX_ASSERT( ulTimeOut != 0 );
     HX_ASSERT( pfExecFunc != NULL );
-    
-    HXUnixAsyncTimer* pTimer = new HXUnixAsyncTimer(pContext, ulTimeOut, pfExecFunc );
-    HX_ASSERT( pTimer != NULL );
-    if( pTimer != NULL )
-    {
-        //Add new timer to map.
-        ulTimerID = pTimer->GetID();
-        m_mapTimers.SetAt( ulTimerID, (void*)pTimer );    
-    }
+
+    // Set the timout value (ms), and the function pointer to be called
+    m_ulTimeOut = ulTimeOut;
+    m_pfExecFunc = pfExecFunc;
+
+    // Start the thread
+    hr = m_pMessagePump->CreateThread( _ActualMessagePump, (void*)this, 0 );
     
     //unlock the map.
     HX_UNLOCK(m_pmtxMapLock);
 
-    return ulTimerID;
+    return hr;
 }
 
-HXBOOL HXUnixAsyncTimer::KillTimer(UINT32 ulTimerID )
+HX_RESULT
+HXUnixAsyncTimer::KillTimer()
 {
+    HX_RESULT hr=HXR_OK;
+
     //lock it.
     HX_LOCK(m_pmtxMapLock);
 
-    HXBOOL  bRetVal = FALSE;
-    void* pTimer  = NULL;
+   //Tell the message pump to quit.
+    HXThreadMessage msgQuit(HXMSG_QUIT, NULL, NULL);
+    m_pMessagePump->PostMessage( &msgQuit, NULL );
 
+    //Wait for it to stop.
+    hr = m_pMessagePump->Terminate();
 
-    HX_ASSERT( ulTimerID != 0 );
-    
-    if( m_mapTimers.Lookup( ulTimerID, pTimer ) )
-    {
-        //Found it.
-        bRetVal = TRUE;
-        HXUnixAsyncTimer* pTmp = (HXUnixAsyncTimer*)pTimer;
-        HX_DELETE(pTmp); 
-        m_mapTimers.RemoveKey( ulTimerID );
-    }
+    HX_RELEASE(m_pReceivingThread);
 
     //unlock the map.
     HX_UNLOCK(m_pmtxMapLock);
 
-    return bRetVal;
+    return hr;
 }
 
 


From cdunn at helixcommunity.org  Thu Jul 20 18:47:08 2006
From: cdunn at helixcommunity.org (cdunn@helixcommunity.org)
Date: Thu Jul 20 20:20:54 2006
Subject: [Common-cvs] netio threngin.cpp,1.11,1.12
Message-ID: 

Update of /cvsroot/common/netio
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv24785

Modified Files:
	threngin.cpp 
Log Message:
Update usage of the async timer.

Index: threngin.cpp
===================================================================
RCS file: /cvsroot/common/netio/threngin.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- threngin.cpp	8 Mar 2006 19:13:37 -0000	1.11
+++ threngin.cpp	21 Jul 2006 01:47:05 -0000	1.12
@@ -394,7 +394,8 @@
     ULONG32	    ulLastTimerCallback = HX_GET_TICKCOUNT();
     
 #if defined( _WIN32 ) || defined( _UNIX_THREADED_NETWORK_IO ) || defined(THREADS_SUPPORTED)
-    UINT32  ulTimerId = 0;
+    IHXAsyncTimer* pAsyncTimer=NULL;
+    CreateInstanceCCF(CLSID_IHXAsyncTimer, (void**)&pAsyncTimer, pContext);
 #endif /*_WIN32 || _UNIX_THREADED_NETWORK_IO */
     
 #if defined(HELIX_FEATURE_NETWORK_USE_SELECT)
@@ -468,11 +469,11 @@
 	    )
 	{ // process connect and accept messages, then use select
 	    pEngine->m_pNetworkThread->m_bUseReaderWriter = FALSE;
-           if (ulTimerId <= 0)
-           {
-               ulSleepTime = 20;
-               ulTimerId = HXAsyncTimer::SetTimer( ulSleepTime, pThread );
-           }
+            if (pAsyncTimer && pAsyncTimer->GetID() == 0)
+            {
+                ulSleepTime = 20;
+		pAsyncTimer->SetTimer(ulSleepTime, pThread);
+            }
 	    if (pThread->GetMessage(&msg, 0, 0) != HXR_OK)
 		break;
 	}
@@ -482,10 +483,9 @@
 	    { // process messages in queue
 		if (!bRWStartup)
 		{
-		    if (ulTimerId > 0)
+		    if (pAsyncTimer)
 		    {
-		       HXAsyncTimer::KillTimer(ulTimerId);
-		       ulTimerId = 0;
+			pAsyncTimer->KillTimer();
 		    }
 		    msg.m_ulMessage = HXMSG_ASYNC_START_READERWRITER;
 		    theErr = pEngine->m_pNetworkThread->PostMessage(&msg, NULL);
@@ -592,14 +592,17 @@
            case HXMSG_ASYNC_RESUME:
 #if defined( _WIN32 ) || defined( _UNIX_THREADED_NETWORK_IO ) || defined(THREADS_SUPPORTED)
            {
-               if (ulTimerId > 0)
-               {
-                   HXAsyncTimer::KillTimer(ulTimerId);
-                   ulTimerId = 0;
-               }
+	       if (pAsyncTimer)
+	       {
+		    pAsyncTimer->KillTimer();
+	       }
                
                ulSleepTime = (UINT32)(PTR_INT)msg.m_pParam1;
-               ulTimerId = HXAsyncTimer::SetTimer( pContext, ulSleepTime, pThread );
+
+	       if (pAsyncTimer)
+	       {
+		    pAsyncTimer->SetTimer(ulSleepTime, pThread);
+	       }
            }
 #endif /* _WIN32 || _UNIX_THREADED_NETWORK_IO */
            break;
@@ -607,11 +610,10 @@
            case HXMSG_ASYNC_STOP:
 #if defined( _WIN32 ) || defined( _UNIX_THREADED_NETWORK_IO ) || defined(THREADS_SUPPORTED)
            {
-               if (ulTimerId > 0)
-               {
-                   HXAsyncTimer::KillTimer( ulTimerId );
-                   ulTimerId   = 0;
-                   ulSleepTime = 0;
+		if (pAsyncTimer && pAsyncTimer->GetID() > 0)
+		{
+		    pAsyncTimer->KillTimer();
+                    ulSleepTime = 0;
                }
            }
 #endif /* _WIN32 || _UNIX_THREADED_NETWORK_IO */
@@ -623,10 +625,7 @@
     }
     
 #if defined( _WIN32 ) || defined( _UNIX_THREADED_NETWORK_IO ) || defined(THREADS_SUPPORTED)
-    if (ulTimerId > 0)
-    {
-        HXAsyncTimer::KillTimer( ulTimerId );
-    }
+    HX_RELEASE(pAsyncTimer);
 #endif /* _WIN32 || _UNIX_THREADED_NETWORK_IO */
     
     pEngine->m_pQuitEvent->SignalEvent();


From jrmoore at helixcommunity.org  Thu Jul 20 19:34:12 2006
From: jrmoore at helixcommunity.org (jrmoore@helixcommunity.org)
Date: Thu Jul 20 21:07:58 2006
Subject: [Common-cvs] netio/platform/posix sockimp.cpp, 1.61.2.24.14.1,
	1.61.2.24.14.1.6.1
Message-ID: 

Update of /cvsroot/common/netio/platform/posix
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv21164

Modified Files:
      Tag: SERVER_11_1_1_LR_RN
	sockimp.cpp 
Log Message:
Synopsis
========
BBC: 11.1 Rss Output reports incorrect HTTP/Player connections
Fix for: https://bugs.dev.prognet.com/show_bug.cgi?id=164711

Branches:   SERVER_11_1, SERVER_11_1_1_LR_RN

Reviewers: dlew, skharkar

Description
===========
The HTTP connections are never logged in 'rss' output.

Solution: Add missing call to report http connections. 
Since this uses WMT Http Protocol and the rss was not updated at
all, we simply put in the appropriate calls to update the Protocol and
Transport. Had to handle the case where the socket closes.

Notes: RTSP using just HTTP showing up as 100% RTSP Protocol with 100% cloaked
instead of as 100%HTTP is by design.

Files Affected
==============
Modified:

server/protocol/http/httpprot.cpp
server/protocol/http/http_demux.cpp
server_rn/protocol/wmt/http/wmt_httpprot.cpp
server/engine/session/client.cpp
common/netio/platform/posix/sockimp.cpp

Testing Performed
=================

Unit Tests: Tested that server runs.
Integration Tests: Tested that http connections showed up in rss until
the connection was dropped.
Leak Tests: n/a
Performance Tests: n/a
Platforms Tested: linux-rhel4-i686
Build verified:  linux-rhel4-i686, win32-i386-vc7

QA Hints
========
Procedure to test HTTP protocol:
1.) Add a mount point to your HTTPDeliverable list in your rmserver.cfg.
2.) Create that directory under your "Content" dir.
3.) Copy a piece of RealMedia content to it that is *not* SureStream/multirate.
4.) Using a player, request: http://server:http_port/newmountpoint/content.rm
5.) Use windows media instead in step 4) content.wmv

For real media, the http connection will go away quickly so make sure you have
a long clip and a small rss value.



Index: sockimp.cpp
===================================================================
RCS file: /cvsroot/common/netio/platform/posix/sockimp.cpp,v
retrieving revision 1.61.2.24.14.1
retrieving revision 1.61.2.24.14.1.6.1
diff -u -d -r1.61.2.24.14.1 -r1.61.2.24.14.1.6.1
--- sockimp.cpp	23 Sep 2005 19:01:56 -0000	1.61.2.24.14.1
+++ sockimp.cpp	21 Jul 2006 02:34:09 -0000	1.61.2.24.14.1.6.1
@@ -2717,6 +2717,10 @@
             {
                 HX_RELEASE(*ppAddr);
             }
+            if (hxr == HXR_SOCK_CONNRESET)
+            {
+                m_pWriteQueue->Discard();
+            }
         }
     }
     return hxr;


From jrmoore at helixcommunity.org  Thu Jul 20 20:23:07 2006
From: jrmoore at helixcommunity.org (jrmoore@helixcommunity.org)
Date: Thu Jul 20 21:56:53 2006
Subject: [Common-cvs] netio/platform/posix sockimp.cpp, 1.61.2.24.14.1,
	1.61.2.24.14.2
Message-ID: 

Update of /cvsroot/common/netio/platform/posix
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv26886

Modified Files:
      Tag: SERVER_11_1
	sockimp.cpp 
Log Message:
:VS: ----------------------------------------------------------------------
Synopsis
========
BBC: 11.1 Rss Output reports incorrect HTTP/Player connections
Fix for: https://bugs.dev.prognet.com/show_bug.cgi?id=164711

Branches:   SERVER_11_1, SERVER_11_1_1_LR_RN

Reviewers: dlew, skharkar

Description
===========
The HTTP connections are never logged in 'rss' output.

Solution: Add missing call to report http connections. 
Since this uses WMT Http Protocol and the rss was not updated at
all, we simply put in the appropriate calls to update the Protocol and
Transport. Had to handle the case where the socket closes.

Notes: RTSP using just HTTP showing up as 100% RTSP Protocol with 100% cloaked
instead of as 100%HTTP is by design.

Files Affected
==============
Modified:

server/protocol/http/httpprot.cpp
server/protocol/http/http_demux.cpp
server_rn/protocol/wmt/http/wmt_httpprot.cpp
server/engine/session/client.cpp
common/netio/platform/posix/sockimp.cpp

Testing Performed
=================

Unit Tests: Tested that server runs.
Integration Tests: Tested that http connections showed up in rss until
the connection was dropped.
Leak Tests: n/a
Performance Tests: n/a
Platforms Tested: linux-rhel4-i686
Build verified:  linux-rhel4-i686, win32-i386-vc7

QA Hints
========
Procedure to test HTTP protocol:
1.) Add a mount point to your HTTPDeliverable list in your rmserver.cfg.
2.) Create that directory under your "Content" dir.
3.) Copy a piece of RealMedia content to it that is *not* SureStream/multirate.
4.) Using a player, request: http://server:http_port/newmountpoint/content.rm
5.) Use windows media instead in step 4) content.wmv

For real media, the http connection will go away quickly so make sure you have
a long clip and a small rss value.



Index: sockimp.cpp
===================================================================
RCS file: /cvsroot/common/netio/platform/posix/sockimp.cpp,v
retrieving revision 1.61.2.24.14.1
retrieving revision 1.61.2.24.14.2
diff -u -d -r1.61.2.24.14.1 -r1.61.2.24.14.2
--- sockimp.cpp	23 Sep 2005 19:01:56 -0000	1.61.2.24.14.1
+++ sockimp.cpp	21 Jul 2006 03:23:04 -0000	1.61.2.24.14.2
@@ -2717,6 +2717,10 @@
             {
                 HX_RELEASE(*ppAddr);
             }
+            if (hxr == HXR_SOCK_CONNRESET)
+            {
+                m_pWriteQueue->Discard();
+            }
         }
     }
     return hxr;


From pankajgupta at helixcommunity.org  Thu Jul 20 21:02:55 2006
From: pankajgupta at helixcommunity.org (pankajgupta@helixcommunity.org)
Date: Thu Jul 20 22:36:39 2006
Subject: [Common-cvs] log/logutil/pub hxtlogutil.h,1.14,1.15
Message-ID: 

Update of /cvsroot/common/log/logutil/pub
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv19698

Modified Files:
	hxtlogutil.h 
Log Message:
Modified by: pgupta@real.com
Date : 20 July 2006
Reviewed By: ping@real.com
Issue : Fix for build errors in head  for symbian-81
Overview:
Following fix are suggested to resolve build errors for symbian 81
- Symbian81 also needs same definition of  HX_I64d_ARG as symbian 9
- renamed rmcomlib to rmcommonlib
- hxmedpltfmdll_symbian.pcf file added to include efsrv.lib system library.
Platform: symbian-81
Branch : Head
File Modified:
- common/log/logutil/pub/hxtlogutil.h
- datatype/group/video/Umakefil
Files Added:
- client/medpltfm/hxmedpltfmdll_symbian.pcf



Index: hxtlogutil.h
===================================================================
RCS file: /cvsroot/common/log/logutil/pub/hxtlogutil.h,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- hxtlogutil.h	16 Jun 2006 19:26:20 -0000	1.14
+++ hxtlogutil.h	21 Jul 2006 04:02:53 -0000	1.15
@@ -117,7 +117,7 @@
 // Support for 64-bit arguments varies.
 //
 #if defined(_SYMBIAN)
-#if defined(HELIX_CONFIG_SYMBIAN_PLATFORM_SECURITY)
+#if defined(HELIX_CONFIG_SYMBIAN_PLATFORM_SECURITY) || defined (_SYMBIAN_81_)
 #define HX_I64d_ARG(x) INT64_TO_UINT32(x >>32), INT64_TO_UINT32(x)
 #define HX_I64d_SUBST "%p%X"
 #else


From jgordon at helixcommunity.org  Fri Jul 21 08:24:52 2006
From: jgordon at helixcommunity.org (jgordon@helixcommunity.org)
Date: Fri Jul 21 09:58:29 2006
Subject: [Common-cvs] system hxthread.cpp,1.13,1.14
Message-ID: 

Update of /cvsroot/common/system
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv24149

Modified Files:
	hxthread.cpp 
Log Message:
Fix trivial build buster on Unix platforms.


Index: hxthread.cpp
===================================================================
RCS file: /cvsroot/common/system/hxthread.cpp,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- hxthread.cpp	21 Jul 2006 01:43:33 -0000	1.13
+++ hxthread.cpp	21 Jul 2006 15:24:45 -0000	1.14
@@ -264,7 +264,8 @@
 
 HX_RESULT	
 HXAsyncTimer::MakeAsyncTimer(HXAsyncTimer*& pAsyncTimer,
-				IHXThread* pMessagePump, IHXMutex* pMutexMapLock)
+				IHXThread* pMessagePump, 
+                                IHXMutex* pMutexLock)
 {
     HX_RESULT hr =HXR_OK;
     pAsyncTimer = NULL;


From suramakr at helixcommunity.org  Fri Jul 21 12:04:12 2006
From: suramakr at helixcommunity.org (suramakr@helixcommunity.org)
Date: Fri Jul 21 13:37:47 2006
Subject: [Common-cvs] netio/platform/symbian hxsymbiansocket.cpp, 1.1,
	1.1.2.1
Message-ID: 

Update of /cvsroot/common/netio/platform/symbian
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv9133

Modified Files:
      Tag: hxclient_2_1_0_cayennes
	hxsymbiansocket.cpp 
Log Message:
"Nokia submits this code under the terms of a commercial contribution agreement with Real Networks, and I am authorized to contribute this code under said agreement."

Modified by:
    sunitha.ramakrishna@nokia.com

Reviewed by:


Date: 
    July-17-2006

Project: 
    Helix plug-in for Symbian

Error ID: 
    EAVZ-6QCRNW
    

Synopsis: 
While streaming with a WLAN APN, if the user turns the phone to offline mode, the UI would display "System Error" instead of notifying the user with " Connection lost, reconnect?"

In this case we were getting a -36 which is the symbian error code for KErrDisconnected. This error code was not being mapped to appropriate Helix error codes. As a result the UI would display general error
    
This CR adds the mapping for KErrDisconnected.


Files Modified: 
    common/netio/platform/symbian/hxsymbiansocket.cpp
    clientapps/symbianmmf/hxctrlimpl.cpp
    
Files Added:
    None

Image Size and Heap Use impact: 
    None

Platforms and Profiles Build Verified: 
    helix-client-s60-mmf-mdf-arm
    helix-client-s60-mmf-mdf-dsp

Platforms and Profiles Functionality verified: 
    armv5

Branch: 
    head and hxclient_2_1_0_cayennes 


Index: hxsymbiansocket.cpp
===================================================================
RCS file: /cvsroot/common/netio/platform/symbian/hxsymbiansocket.cpp,v
retrieving revision 1.1
retrieving revision 1.1.2.1
diff -u -d -r1.1 -r1.1.2.1
--- hxsymbiansocket.cpp	29 Sep 2005 21:02:47 -0000	1.1
+++ hxsymbiansocket.cpp	21 Jul 2006 19:04:10 -0000	1.1.2.1
@@ -1148,6 +1148,10 @@
     {
         res = HXR_OUTOFMEMORY;
     }
+     else if(iStatus.Int() == KErrDisconnected)
+    {
+    	res = HXR_SOCK_DISCON;
+    }
     else
     {
         HXLOGL1(HXLOG_NETW, "CHXSymbianSocketWriter::RunL iStatus=%d", 
@@ -1224,6 +1228,10 @@
     {
         res = HXR_OUTOFMEMORY;
     }
+    else if(iStatus.Int() == KErrDisconnected)
+    {
+    	res = HXR_SOCK_DISCON;
+    }
     else
     {
         HXLOGL1(HXLOG_NETW, "CHXSymbianSocketReader::RunL iStatus=%d", 


From suramakr at helixcommunity.org  Fri Jul 21 12:15:57 2006
From: suramakr at helixcommunity.org (suramakr@helixcommunity.org)
Date: Fri Jul 21 13:49:32 2006
Subject: [Common-cvs] netio/platform/symbian hxsymbiansocket.cpp,1.1,1.2
Message-ID: 

Update of /cvsroot/common/netio/platform/symbian
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv19211

Modified Files:
	hxsymbiansocket.cpp 
Log Message:
"Nokia submits this code under the terms of a commercial contribution agreement with Real Networks, and I am authorized to contribute this code under said agreement."

Modified by:
    sunitha.ramakrishna@nokia.com

Reviewed by:


Date: 
    July-17-2006

Project: 
    Helix plug-in for Symbian

Error ID: 
    EAVZ-6QCRNW
    

Synopsis: 
While streaming with a WLAN APN, if the user turns the phone to offline mode, the UI would display "System Error" instead of notifying the user with " Connection lost, reconnect?"

In this case we were getting a -36 which is the symbian error code for KErrDisconnected. This error code was not being mapped to appropriate Helix error codes. As a result the UI would display general error
    
This CR adds the mapping for KErrDisconnected.


Files Modified: 
    common/netio/platform/symbian/hxsymbiansocket.cpp
    clientapps/symbianmmf/hxctrlimpl.cpp
    
Files Added:
    None

Image Size and Heap Use impact: 
    None

Platforms and Profiles Build Verified: 
    helix-client-s60-mmf-mdf-arm
    helix-client-s60-mmf-mdf-dsp

Platforms and Profiles Functionality verified: 
    armv5

Branch: 
    head and hxclient_2_1_0_cayennes 


Index: hxsymbiansocket.cpp
===================================================================
RCS file: /cvsroot/common/netio/platform/symbian/hxsymbiansocket.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- hxsymbiansocket.cpp	29 Sep 2005 21:02:47 -0000	1.1
+++ hxsymbiansocket.cpp	21 Jul 2006 19:15:54 -0000	1.2
@@ -1148,6 +1148,10 @@
     {
         res = HXR_OUTOFMEMORY;
     }
+     else if(iStatus.Int() == KErrDisconnected)
+    {
+    	res = HXR_SOCK_DISCON;
+    }
     else
     {
         HXLOGL1(HXLOG_NETW, "CHXSymbianSocketWriter::RunL iStatus=%d", 
@@ -1224,6 +1228,10 @@
     {
         res = HXR_OUTOFMEMORY;
     }
+    else if(iStatus.Int() == KErrDisconnected)
+    {
+    	res = HXR_SOCK_DISCON;
+    }
     else
     {
         HXLOGL1(HXLOG_NETW, "CHXSymbianSocketReader::RunL iStatus=%d", 


From tknox at helixcommunity.org  Mon Jul 24 14:06:58 2006
From: tknox at helixcommunity.org (tknox@helixcommunity.org)
Date: Mon Jul 24 15:39:47 2006
Subject: [Common-cvs] include hxiids.h,1.112,1.113
Message-ID: 

Update of /cvsroot/common/include
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv30579/include

Modified Files:
	hxiids.h 
Log Message:
Synopsis
========
Create an interface for server_info, IHXServerInfo

Branches: head
Reviewer: dlew


Description
===========
In order to make transports pluggable, it is necessary to break
dependencies on core objects. As part of this effort, I have split out
an interface for server_info, IHXServerInfo. Note: This is only the
code to create the interface, and return it from the server_context,
but not to actually use it in any transports.


Files Affected
==============
common/include/hxiids.h
server/engine/core/pub/server_info.h
server/engine/core/server_context.cpp
server/engine/core/server_info.cpp
server/engine/session/client.cpp
server/include/hxservinfo.h             <-- added


Testing Performed
=================
Streamed static content (rm && mp3) over TCP and UDP. Streamed live
(rm && mp3) using slta. Statistics were correct in all cases.

Platforms Tested: linux-rhel4-i686
Build verified: linux-rhel4-i686, sunos-5.10-sparc-server, win32-i386-vc7


QA Hints
===============

Verify that statistics continue to be correctly reported.



Index: hxiids.h
===================================================================
RCS file: /cvsroot/common/include/hxiids.h,v
retrieving revision 1.112
retrieving revision 1.113
diff -u -d -r1.112 -r1.113
--- hxiids.h	21 Jul 2006 01:40:29 -0000	1.112
+++ hxiids.h	24 Jul 2006 21:06:55 -0000	1.113
@@ -2068,5 +2068,9 @@
 DEFINE_GUID_ENUM( IID_IHXObserver, 0x5de44ba5, 0xd435, 0x11d3, 0xb6, 0x54, 0x0, 0x10, 0x5a, 0x12, 0x11, 0x85 )
 #endif /* _IHXOBSERVER_H */
 
+#if ( !defined(_IHX_SERVER_INFO_H_) || !defined(HELIX_FEATURE_FULLGUID) )
+DEFINE_GUID_ENUM(IID_IHXServerInfo, 0xe3b2ce09, 0x52b4, 0x457a, 0xb7, 0x9a, 0xc9, 0xcc, 0x93, 0x73, 0x57, 0xc7)
+#endif /* _IHX_SERVER_INFO_H_ */
+
 #endif /* _HXIIDS_H_ */
 


From gwright at helixcommunity.org  Tue Jul 25 10:53:06 2006
From: gwright at helixcommunity.org (gwright@helixcommunity.org)
Date: Tue Jul 25 12:25:43 2006
Subject: [Common-cvs] system hxthread.cpp,1.14,1.15
Message-ID: 

Update of /cvsroot/common/system
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv15785

Modified Files:
	hxthread.cpp 
Log Message:
Took a while to find this, but the player on HEAD could not
play more then 1 clip in a row without hanging. The hanging
came from HXPlayer::SetupAudioPlayer() never completing. It
would just get called from scheduler over and over again. Turns
out it wants to be called on a certain thread. This thread
was never getting time in the scheduler. The problem was our
scheduler was only being driven by the EventOccured() calls
from splay, the other thread was not pumping out OnTimeSync()
calls. This was happening because the timer that was suppose
to generate our HXMSG_ASYNC_TIMER messages was being killed
by another thread. If you look at the diff you will see that
the timer id member var was static, so all timers shared the
same ID and the first time kill was called (from a timeline
pause) it deleted all timers.

Fix is simple, just don't make it static.

For HEAD only.



Index: hxthread.cpp
===================================================================
RCS file: /cvsroot/common/system/hxthread.cpp,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- hxthread.cpp	21 Jul 2006 15:24:45 -0000	1.14
+++ hxthread.cpp	25 Jul 2006 17:53:03 -0000	1.15
@@ -82,9 +82,9 @@
 
 #include "hxheap.h"
 #ifdef _DEBUG
-#undef HX_THIS_FILE		
+#undef HX_THIS_FILE             
 static const char HX_THIS_FILE[] = __FILE__;
-#endif									 
+#endif                                                                   
 
 HXThread::~HXThread()
 {
@@ -92,7 +92,7 @@
 
 //XXXLCM consider moving static function definitions to
 //      platform files to get rid of ifdefs
-HX_RESULT	
+HX_RESULT       
 HXThread::MakeThread(HXThread*& pThread)
 {
     pThread = 0;
@@ -113,20 +113,20 @@
 #endif
     if (!pThread)
     {
-	return HXR_OUTOFMEMORY;
+        return HXR_OUTOFMEMORY;
     }
 
     return HXR_OK;
 }
 
-HX_RESULT	
+HX_RESULT       
 HXThread::MakeStubThread(HXThread*& pThread)
 {
     pThread = 0;
     pThread = new HXGenThread;
     if (!pThread)
     {
-	return HXR_OUTOFMEMORY;
+        return HXR_OUTOFMEMORY;
     }
 
     return HXR_OK;
@@ -136,7 +136,7 @@
 {
 }
 
-HX_RESULT	
+HX_RESULT       
 HXMutex::MakeNamedMutex(HXMutex*& pMutex, char* name)
 {
     pMutex = NULL;
@@ -147,14 +147,14 @@
 #endif
     if (!pMutex)
     {
-	return HXR_OUTOFMEMORY;
+        return HXR_OUTOFMEMORY;
     }
 
     return HXR_OK;
 }
 
 
-HX_RESULT	
+HX_RESULT       
 HXMutex::MakeMutex(HXMutex*& pMutex)
 {
     pMutex = 0;
@@ -176,24 +176,24 @@
 #endif
     if (!pMutex)
     {
-	return HXR_OUTOFMEMORY;
+        return HXR_OUTOFMEMORY;
     }
 
     return HXR_OK;
 }
 
-HX_RESULT	
+HX_RESULT       
 HXMutex::MakeStubMutex(HXMutex*& pMutex)
 {
     pMutex = 0;
 #if defined(_CARBON) && !defined(THREADS_SUPPORTED)
-	pMutex = new HXGenMacMutex;
+        pMutex = new HXGenMacMutex;
 #else
     pMutex = new HXGenMutex;
 #endif
     if (!pMutex)
     {
-	return HXR_OUTOFMEMORY;
+        return HXR_OUTOFMEMORY;
     }
 
     return HXR_OK;
@@ -204,7 +204,7 @@
 }
 
 
-HX_RESULT	
+HX_RESULT       
 HXEvent::MakeEvent(HXEvent*& pEvent, const char* pEventName, HXBOOL bManualReset)
 {
     pEvent = 0;
@@ -217,11 +217,11 @@
 #ifdef THREADS_SUPPORTED
     if (bManualReset)
     {
-	pEvent = new HXCarbonManualEvent(pEventName);
+        pEvent = new HXCarbonManualEvent(pEventName);
     }
     else
     {
-	pEvent = new HXCarbonEvent(pEventName, bManualReset);
+        pEvent = new HXCarbonEvent(pEventName, bManualReset);
     }
 #else
     pEvent = new HXMacEvent(pEventName, bManualReset);
@@ -233,20 +233,20 @@
 #endif
     if (!pEvent)
     {
-	return HXR_OUTOFMEMORY;
+        return HXR_OUTOFMEMORY;
     }
 
     return HXR_OK;
 }
 
-HX_RESULT	
+HX_RESULT       
 HXEvent::MakeStubEvent(HXEvent*& pEvent, const char* pEventName, HXBOOL bManualReset)
 {
     pEvent = 0;
     pEvent = new HXGenEvent(pEventName, bManualReset);
     if (!pEvent)
     {
-	return HXR_OUTOFMEMORY;
+        return HXR_OUTOFMEMORY;
     }
 
     return HXR_OK;
@@ -256,16 +256,16 @@
 //
 // HXAsyncTimer methods.
 //
-UINT32 HXAsyncTimer::m_ulTimerID = 0;
+
 HXAsyncTimer::HXAsyncTimer()
+    : m_ulTimerID(0)
 {
-    m_ulTimerID = 0;
 }
 
-HX_RESULT	
+HX_RESULT       
 HXAsyncTimer::MakeAsyncTimer(HXAsyncTimer*& pAsyncTimer,
-				IHXThread* pMessagePump, 
-                                IHXMutex* pMutexLock)
+                             IHXThread* pMessagePump, 
+                             IHXMutex* pMutexLock)
 {
     HX_RESULT hr =HXR_OK;
     pAsyncTimer = NULL;
@@ -280,7 +280,7 @@
 #endif        
     if (!pAsyncTimer)
     {
-	return HXR_OUTOFMEMORY;
+        return HXR_OUTOFMEMORY;
     }
 
     return HXR_OK;
@@ -328,7 +328,7 @@
     if (m_ulTimerID != 0)
     {
         hr = (::KillTimer( NULL, m_ulTimerID )) ? HXR_OK : HXR_FAIL;
-	m_ulTimerID = 0;
+        m_ulTimerID = 0;
     }
 #endif        
     return hr;


From gwright at helixcommunity.org  Tue Jul 25 10:53:06 2006
From: gwright at helixcommunity.org (gwright@helixcommunity.org)
Date: Tue Jul 25 12:25:43 2006
Subject: [Common-cvs] system/pub hxthread.h,1.14,1.15
Message-ID: 

Update of /cvsroot/common/system/pub
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv15785/pub

Modified Files:
	hxthread.h 
Log Message:
Took a while to find this, but the player on HEAD could not
play more then 1 clip in a row without hanging. The hanging
came from HXPlayer::SetupAudioPlayer() never completing. It
would just get called from scheduler over and over again. Turns
out it wants to be called on a certain thread. This thread
was never getting time in the scheduler. The problem was our
scheduler was only being driven by the EventOccured() calls
from splay, the other thread was not pumping out OnTimeSync()
calls. This was happening because the timer that was suppose
to generate our HXMSG_ASYNC_TIMER messages was being killed
by another thread. If you look at the diff you will see that
the timer id member var was static, so all timers shared the
same ID and the first time kill was called (from a timeline
pause) it deleted all timers.

Fix is simple, just don't make it static.

For HEAD only.



Index: hxthread.h
===================================================================
RCS file: /cvsroot/common/system/pub/hxthread.h,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- hxthread.h	21 Jul 2006 01:43:34 -0000	1.14
+++ hxthread.h	25 Jul 2006 17:53:04 -0000	1.15
@@ -192,7 +192,7 @@
     HXAsyncTimer();
 
 private:
-    static UINT32 m_ulTimerID;
+    UINT32 m_ulTimerID;
 };
 
 #define HX_LOCK(x)      \


From junhliu at helixcommunity.org  Thu Jul 27 09:48:21 2006
From: junhliu at helixcommunity.org (junhliu@helixcommunity.org)
Date: Thu Jul 27 11:20:27 2006
Subject: [Common-cvs] include hxresult.h,1.37.2.4,1.37.2.5
Message-ID: 

Update of /cvsroot/common/include
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv23789

Modified Files:
      Tag: hxclient_2_1_0_cayennes
	hxresult.h 
Log Message:
"Nokia submits this code under the terms of a commercial contribution agreement with Real Networks, 
and I am authorized to contribute this code under said agreement."

Modified by:
    Junhong.Liu@nokia.com

Reviewed by:


Date: 
    July-24-2006

Project: 
    Helix plug-in for Symbian

Error ID: EOVL-6PNL6H
          SRAA-6NLSU8
          EAVZ-6Q5LY5
          EAVZ-6RZM4T
    
Synopsis: Wrong error note for invalid access point


	Currently if access point connection fails, UI always shows "Configurae a default access point" instead of "Unable to connect".
	
	This CR is to remap the connection fail error code to KErrCouldNotConnect, so UI can show "Unable to connect". For access point 
	is not found situation, a new error code is defined. This error code is mapped to KErrAbor, allowing UI to show "Configure a default 
	access point".  
	
	In addition, some cleanup has been made aslo. 
		

Files Modified: 
    clientapps\symbianMmf\hxmmfctrlimpl.cpp
    common\include\hxresult.h
    client\netwksvc\pub\platform\pub\platform\symbian\hxsymbianapman.h
    client\netwksvc\pub\platform\pub\platform\symbian\hxsymbianbearermonitor.h
    client\netwksvc\pub\platform\symbian\hxsymbianapman.cpp
    client\netwksvc\pub\platform\symbian\hxsymbianbearermonitor.cpp
    
    
Files Added:
    None

Image Size and Heap Use impact: 
    None

Platforms and Profiles Build Verified: 
    helix-client-s60-mmf-mdf-arm
    helix-client-s60-mmf-mdf-dsp

Platforms and Profiles Functionality verified: 
    armv5

Branch: 
    head and hxclient_2_1_0_cayennes 



Index: hxresult.h
===================================================================
RCS file: /cvsroot/common/include/hxresult.h,v
retrieving revision 1.37.2.4
retrieving revision 1.37.2.5
diff -u -d -r1.37.2.4 -r1.37.2.5
--- hxresult.h	17 Jul 2006 21:16:58 -0000	1.37.2.4
+++ hxresult.h	27 Jul 2006 16:48:19 -0000	1.37.2.5
@@ -224,6 +224,7 @@
 #define HXR_SOCKET_NOBUFS               MAKE_HX_RESULT(1,SS_NET,51)                 // 80040073
 #define HXR_NET_SUSPENDED               MAKE_HX_RESULT(1,SS_NET,52)                 // 80040074
 #define HXR_NET_RESOURCES_IN_USE        MAKE_HX_RESULT(1,SS_NET,53)                 // 80040075
+#define HXR_ACCESSPOINT_NOT_FOUND		MAKE_HX_RESULT(1,SS_NET,54)					// 80040076
 
 #define HXR_AT_END                      MAKE_HX_RESULT(0,SS_FIL,0)                  // 00040080
 #define HXR_INVALID_FILE                MAKE_HX_RESULT(1,SS_FIL,1)                  // 80040081


From junhliu at helixcommunity.org  Thu Jul 27 09:49:32 2006
From: junhliu at helixcommunity.org (junhliu@helixcommunity.org)
Date: Thu Jul 27 11:21:39 2006
Subject: [Common-cvs] include hxresult.h,1.43,1.44
Message-ID: 

Update of /cvsroot/common/include
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv25323

Modified Files:
	hxresult.h 
Log Message:
"Nokia submits this code under the terms of a commercial contribution agreement with Real Networks, 
and I am authorized to contribute this code under said agreement."

Modified by:
    Junhong.Liu@nokia.com

Reviewed by:


Date: 
    July-24-2006

Project: 
    Helix plug-in for Symbian

Error ID: EOVL-6PNL6H
          SRAA-6NLSU8
          EAVZ-6Q5LY5
          EAVZ-6RZM4T
    
Synopsis: Wrong error note for invalid access point


	Currently if access point connection fails, UI always shows "Configurae a default access point" instead of "Unable to connect".
	
	This CR is to remap the connection fail error code to KErrCouldNotConnect, so UI can show "Unable to connect". For access point 
	is not found situation, a new error code is defined. This error code is mapped to KErrAbor, allowing UI to show "Configure a default 
	access point".  
	
	In addition, some cleanup has been made aslo. 
		

Files Modified: 
    clientapps\symbianMmf\hxmmfctrlimpl.cpp
    common\include\hxresult.h
    client\netwksvc\pub\platform\pub\platform\symbian\hxsymbianapman.h
    client\netwksvc\pub\platform\pub\platform\symbian\hxsymbianbearermonitor.h
    client\netwksvc\pub\platform\symbian\hxsymbianapman.cpp
    client\netwksvc\pub\platform\symbian\hxsymbianbearermonitor.cpp
    
    
Files Added:
    None

Image Size and Heap Use impact: 
    None

Platforms and Profiles Build Verified: 
    helix-client-s60-mmf-mdf-arm
    helix-client-s60-mmf-mdf-dsp

Platforms and Profiles Functionality verified: 
    armv5

Branch: 
    head and hxclient_2_1_0_cayennes 



Index: hxresult.h
===================================================================
RCS file: /cvsroot/common/include/hxresult.h,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -d -r1.43 -r1.44
--- hxresult.h	20 Jul 2006 19:52:15 -0000	1.43
+++ hxresult.h	27 Jul 2006 16:49:30 -0000	1.44
@@ -225,6 +225,7 @@
 #define HXR_SOCKET_NOBUFS               MAKE_HX_RESULT(1,SS_NET,51)                 // 80040073
 #define HXR_NET_SUSPENDED               MAKE_HX_RESULT(1,SS_NET,52)                 // 80040074
 #define HXR_NET_RESOURCES_IN_USE        MAKE_HX_RESULT(1,SS_NET,53)                 // 80040075
+#define HXR_ACCESSPOINT_NOT_FOUND		MAKE_HX_RESULT(1,SS_NET,54)					// 80040076
 
 #define HXR_AT_END                      MAKE_HX_RESULT(0,SS_FIL,0)                  // 00040080
 #define HXR_INVALID_FILE                MAKE_HX_RESULT(1,SS_FIL,1)                  // 80040081


From dyek at helixcommunity.org  Thu Jul 27 15:54:49 2006
From: dyek at helixcommunity.org (dyek@helixcommunity.org)
Date: Thu Jul 27 17:26:54 2006
Subject: [Common-cvs] system/pub/platform/unix pthreadthreads.h,1.8,1.8.6.1
Message-ID: 

Update of /cvsroot/common/system/pub/platform/unix
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv30860/common/system/pub/platform/unix

Modified Files:
      Tag: hxclient_1_5_0_cayenne
	pthreadthreads.h 
Log Message:
Integrate fixes for g2mp4combo piacpu, sem_t, and math64.h into 150 Cay to fix GCC 4.x issues.



Index: pthreadthreads.h
===================================================================
RCS file: /cvsroot/common/system/pub/platform/unix/pthreadthreads.h,v
retrieving revision 1.8
retrieving revision 1.8.6.1
diff -u -d -r1.8 -r1.8.6.1
--- pthreadthreads.h	27 Oct 2004 23:41:10 -0000	1.8
+++ pthreadthreads.h	27 Jul 2006 22:54:45 -0000	1.8.6.1
@@ -102,10 +102,7 @@
 
 #ifndef _MAC_UNIX
 
-struct HXsem_t : public sem_t
-{
-    char padding[64]; /* Flawfinder: ignore */ // different linux versions have different binary reps blechhhh!
-};
+typedef sem_t HXsem_t; 
 
 //=======================================================================
 //


From vishnuk at helixcommunity.org  Thu Jul 27 22:38:41 2006
From: vishnuk at helixcommunity.org (vishnuk@helixcommunity.org)
Date: Fri Jul 28 00:10:40 2006
Subject: [Common-cvs] netio/platform/unix unix_net.cpp,1.12,1.12.30.1
Message-ID: 

Update of /cvsroot/common/netio/platform/unix
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv24510

Modified Files:
      Tag: helixsim-perf-05SEPT6
	unix_net.cpp 
Log Message:
Vishnu:Fixed bug#139355, close the pipe in DoStartAsyncConn() before exit when unreachable server provided.

Index: unix_net.cpp
===================================================================
RCS file: /cvsroot/common/netio/platform/unix/unix_net.cpp,v
retrieving revision 1.12
retrieving revision 1.12.30.1
diff -u -d -r1.12 -r1.12.30.1
--- unix_net.cpp	11 Jan 2005 00:09:05 -0000	1.12
+++ unix_net.cpp	28 Jul 2006 05:38:38 -0000	1.12.30.1
@@ -661,6 +661,17 @@
         //printf("Bad host or some other nasty\n");	
 	    //Send back \0 for now.
 	    ::write( m_anDNSPipe[1], "\0", 1 );
+	if ( 0 != ::close( m_anDNSPipe[1]) )
+	{
+            //Unlikly, but if it does happen then we won't get
+            //an EOF written to the pipe and the AsyncDNS will
+            //never complete.
+#ifdef _DEBUG            
+            fprintf( stderr, "AsyncDNS can't close pipe. Disable AsyncDNS with NoAsyncDNS=1\n");
+            fprintf( stderr, "If you have problems connecting.\n");
+#endif            
+
+        }
 	    exit(1);
 	}
 	//Got good IP, send it back in dot format.


From jagmeet at helixcommunity.org  Fri Jul 28 00:32:02 2006
From: jagmeet at helixcommunity.org (jagmeet@helixcommunity.org)
Date: Fri Jul 28 02:04:00 2006
Subject: [Common-cvs] netio/platform/unix unix_net.cpp,1.20,1.21
Message-ID: 

Update of /cvsroot/common/netio/platform/unix
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv11564

Modified Files:
	unix_net.cpp 
Log Message:
Vishnu:Fixed Bug#139355, Close the pipe in DoStartAsyncConn() before exit when unreachable server provided.

Index: unix_net.cpp
===================================================================
RCS file: /cvsroot/common/netio/platform/unix/unix_net.cpp,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -d -r1.20 -r1.21
--- unix_net.cpp	12 Apr 2006 01:09:00 -0000	1.20
+++ unix_net.cpp	28 Jul 2006 07:31:59 -0000	1.21
@@ -678,6 +678,17 @@
         //printf("Bad host or some other nasty\n");	
 	    //Send back \0 for now.
 	    ::write( m_anDNSPipe[1], "\0", 1 );
+	if ( 0 != ::close( m_anDNSPipe[1]) )
+	{
+            //Unlikly, but if it does happen then we won't get
+            //an EOF written to the pipe and the AsyncDNS will
+            //never complete.
+#ifdef _DEBUG            
+            fprintf( stderr, "AsyncDNS can't close pipe. Disable AsyncDNS with NoAsyncDNS=1\n");
+            fprintf( stderr, "If you have problems connecting.\n");
+#endif            
+
+        }
 	    exit(1);
 	}
 	//Got good IP, send it back in dot format.


From vishnuk at helixcommunity.org  Fri Jul 28 00:33:50 2006
From: vishnuk at helixcommunity.org (vishnuk@helixcommunity.org)
Date: Fri Jul 28 02:05:49 2006
Subject: [Common-cvs] netio/platform/unix unix_net.cpp,1.12,1.12.2.1
Message-ID: 

Update of /cvsroot/common/netio/platform/unix
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv12047

Modified Files:
      Tag: hxclient_1_5_0_cayenne
	unix_net.cpp 
Log Message:
Vishnu:Fixed Bug#139355, Close pipe in DoStartAsyncConn() begore exit when unreachable server is provided.

Index: unix_net.cpp
===================================================================
RCS file: /cvsroot/common/netio/platform/unix/unix_net.cpp,v
retrieving revision 1.12
retrieving revision 1.12.2.1
diff -u -d -r1.12 -r1.12.2.1
--- unix_net.cpp	11 Jan 2005 00:09:05 -0000	1.12
+++ unix_net.cpp	28 Jul 2006 07:33:48 -0000	1.12.2.1
@@ -661,6 +661,17 @@
         //printf("Bad host or some other nasty\n");	
 	    //Send back \0 for now.
 	    ::write( m_anDNSPipe[1], "\0", 1 );
+	if ( 0 != ::close( m_anDNSPipe[1]) )
+	{
+            //Unlikly, but if it does happen then we won't get
+            //an EOF written to the pipe and the AsyncDNS will
+            //never complete.
+#ifdef _DEBUG            
+            fprintf( stderr, "AsyncDNS can't close pipe. Disable AsyncDNS with NoAsyncDNS=1\n");
+            fprintf( stderr, "If you have problems connecting.\n");
+#endif            
+
+        }
 	    exit(1);
 	}
 	//Got good IP, send it back in dot format.


From kliu at helixcommunity.org  Fri Jul 28 13:08:55 2006
From: kliu at helixcommunity.org (kliu@helixcommunity.org)
Date: Fri Jul 28 14:40:45 2006
Subject: [Common-cvs] CVSROOT avail,1.101,1.102
Message-ID: 

Update of /cvsroot/common/CVSROOT
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv3711/CVSROOT

Modified Files:
	avail 
Log Message:
granting imakandar write access for the common project

Index: avail
===================================================================
RCS file: /cvsroot/common/CVSROOT/avail,v
retrieving revision 1.101
retrieving revision 1.102
diff -u -d -r1.101 -r1.102
--- avail	19 Jul 2006 16:34:27 -0000	1.101
+++ avail	28 Jul 2006 20:08:52 -0000	1.102
@@ -1,4 +1,5 @@
 unavail
+avail|imakandar
 avail|vishnuk
 avail|asrivastava
 avail|srao


 

Site Map   |   Terms of Use   |   Privacy Policy   |   Contact Us

Copyright © 1995-2007 RealNetworks, Inc. All rights reserved. RealNetworks and Helix are trademarks of RealNetworks.
All other trademarks or registered trademarks are the property of their respective holders.