Bladeren bron

HPCC-15965 Reorder inheritance for various significant classes

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
Gavin Halliday 9 jaren geleden
bovenliggende
commit
7086bc6936
100 gewijzigde bestanden met toevoegingen van 286 en 446 verwijderingen
  1. 3 3
      common/deftype/deffield.ipp
  2. 3 3
      common/deftype/deftype.ipp
  3. 4 4
      common/dllserver/dllserver.cpp
  4. 1 1
      common/dllserver/thorplugin.cpp
  5. 3 3
      common/environment/environment.cpp
  6. 1 1
      common/fileview2/fvdisksource.ipp
  7. 4 5
      common/fileview2/fvresultset.ipp
  8. 2 2
      common/fileview2/fvsource.ipp
  9. 3 3
      common/remote/hooks/git/gitfile.cpp
  10. 3 3
      common/remote/hooks/libarchive/archive.cpp
  11. 0 1
      common/remote/rmtfile.cpp
  12. 7 7
      common/remote/sockfile.cpp
  13. 1 1
      common/roxiecommlib/roxiecommunicationclient.cpp
  14. 1 1
      common/thorhelper/layouttrans.ipp
  15. 1 1
      common/thorhelper/roxiedebug.hpp
  16. 0 88
      common/thorhelper/roxiehelper.cpp
  17. 1 2
      common/thorhelper/roxiehelper.hpp
  18. 3 5
      common/thorhelper/roxielmj.hpp
  19. 3 3
      common/thorhelper/roxierow.cpp
  20. 1 1
      common/thorhelper/roxierow.hpp
  21. 5 5
      common/thorhelper/thorcommon.cpp
  22. 7 8
      common/thorhelper/thorcommon.ipp
  23. 5 5
      common/thorhelper/thorparse.ipp
  24. 2 3
      common/thorhelper/thorpipe.cpp
  25. 0 1
      common/thorhelper/thorralgo.ipp
  26. 4 4
      common/thorhelper/thorsoapcall.cpp
  27. 4 4
      common/thorhelper/thorstep.ipp
  28. 2 2
      common/thorhelper/thortparse.ipp
  29. 5 5
      common/thorhelper/thorxmlread.cpp
  30. 6 10
      common/thorhelper/thorxmlread.hpp
  31. 4 4
      common/thorhelper/thorxmlwrite.hpp
  32. 4 4
      common/workunit/pkgimpl.hpp
  33. 3 3
      common/workunit/referencedfilelist.cpp
  34. 2 2
      common/workunit/workflow.cpp
  35. 1 1
      common/workunit/workflow.hpp
  36. 24 25
      common/workunit/workunit.cpp
  37. 7 6
      common/workunit/workunit.ipp
  38. 5 7
      common/workunit/wujobq.cpp
  39. 2 2
      common/wuwebview/wuwebview.cpp
  40. 1 1
      dali/base/daclient.cpp
  41. 1 3
      dali/base/dacoven.cpp
  42. 20 20
      dali/base/dadfs.cpp
  43. 1 3
      dali/base/dafdesc.cpp
  44. 2 2
      dali/base/dalock.cpp
  45. 2 5
      dali/base/danqs.cpp
  46. 13 15
      dali/base/dasds.cpp
  47. 3 3
      dali/base/dasds.ipp
  48. 6 10
      dali/base/dasess.cpp
  49. 3 3
      dali/base/dasubs.cpp
  50. 11 13
      dali/base/dautils.cpp
  51. 2 6
      dali/daliadmin/daliadmin.cpp
  52. 2 2
      dali/dfu/dfuutil.cpp
  53. 6 6
      dali/dfu/dfuwu.cpp
  54. 2 2
      dali/dfuXRefLib/XRefFilesNode.hpp
  55. 2 2
      dali/dfuXRefLib/XRefNodeManager.hpp
  56. 1 2
      dali/dfuXRefLib/dfuxreflib.cpp
  57. 1 1
      dali/ft/daft.ipp
  58. 4 4
      dali/ft/daftformat.ipp
  59. 1 1
      dali/ft/filecopy.ipp
  60. 1 1
      dali/ft/ftbase.ipp
  61. 1 2
      dali/ft/fttransform.ipp
  62. 0 1
      dali/fuse/dafuse.cpp
  63. 1 3
      dali/sasha/packetstore.cpp
  64. 1 1
      dali/security/dacaplib.cpp
  65. 1 1
      dali/server/daldap.cpp
  66. 8 9
      ecl/eclagent/eclagent.ipp
  67. 1 1
      ecl/eclccserver/eclccserver.cpp
  68. 1 1
      ecl/eclcmd/eclcmd_common.hpp
  69. 0 4
      ecl/eclplus/DeleteHelper.ipp
  70. 0 4
      ecl/eclplus/DumpHelper.ipp
  71. 0 2
      ecl/eclplus/ListHelper.ipp
  72. 0 2
      ecl/eclplus/QueryHelper.ipp
  73. 0 2
      ecl/eclplus/ViewHelper.ipp
  74. 0 2
      ecl/eclplus/eclplus.ipp
  75. 1 1
      ecl/eclplus/formattypes.ipp
  76. 1 1
      ecl/eclscheduler/eclscheduler.cpp
  77. 3 3
      ecl/hql/hqlcollect.cpp
  78. 1 1
      ecl/hql/hqlgram.hpp
  79. 0 1
      ecl/hql/hqlgram2.cpp
  80. 3 3
      ecl/hql/hqlrepository.cpp
  81. 1 1
      ecl/hql/hqlwuerr.cpp
  82. 1 1
      ecl/hql/hqlwuerr.hpp
  83. 5 5
      ecl/hqlcpp/hqlcpp.ipp
  84. 2 2
      ecl/hqlcpp/hqlcppc.hpp
  85. 1 1
      ecl/hqlcpp/hqlcppds.cpp
  86. 4 7
      ecl/hqlcpp/hqlcset.ipp
  87. 2 2
      ecl/hqlcpp/hqlecl.cpp
  88. 4 4
      ecl/hqlcpp/hqlfunc.ipp
  89. 1 1
      ecl/hqlcpp/hqlgraph.ipp
  90. 0 1
      ecl/hqlcpp/hqltcppc.hpp
  91. 2 2
      ecl/hqlcpp/hqltcppc.ipp
  92. 1 1
      ecl/hqlcpp/hqlwcpp.ipp
  93. 2 2
      ecl/hthor/hthor.cpp
  94. 2 2
      ecl/hthor/hthor.ipp
  95. 1 1
      ecl/hthor/hthorkey.cpp
  96. 1 1
      ecl/hthor/hthorstep.ipp
  97. 1 2
      esp/bindings/SOAP/Platform/soapbind.hpp
  98. 1 2
      esp/bindings/SOAP/Platform/soapmacro.hpp
  99. 9 19
      esp/bindings/SOAP/Platform/soapmessage.hpp
  100. 0 0
      esp/bindings/SOAP/Platform/soapservice.hpp

+ 3 - 3
common/deftype/deffield.ipp

@@ -21,7 +21,7 @@
 #include "deffield.hpp"
 
 
-class CDefRecordElement : public CInterface, implements IDefRecordElement
+class CDefRecordElement : implements IDefRecordElement, public CInterface
 {
 public:
     CDefRecordElement(DefElemKind _kind, IAtom * _name, ITypeInfo * _type, size32_t _maxSize = 0);
@@ -90,7 +90,7 @@ protected:
 };
 
 
-class CDefRecordMeta : public CInterface, implements IDefRecordMeta
+class CDefRecordMeta : implements IDefRecordMeta, public CInterface
 {
 public:
     CDefRecordMeta(IDefRecordElement * _record, unsigned _numKeyed);
@@ -109,7 +109,7 @@ protected:
     unsigned numKeyed;
 };
 
-class CDefRecordBuilder : public CInterface, implements IDefRecordBuilder
+class CDefRecordBuilder : implements IDefRecordBuilder, public CInterface
 {
 public:
     CDefRecordBuilder(unsigned maxSize);

+ 3 - 3
common/deftype/deftype.ipp

@@ -868,7 +868,7 @@ protected:
 
 //---------------------------------------------------------------------------
 
-class CCharsetInfo : public CInterface, implements ICharsetInfo
+class CCharsetInfo : implements ICharsetInfo, public CInterface
 {
 public:
     CCharsetInfo(IAtom * _name, unsigned char _fillChar, IAtom * _codepage)
@@ -898,7 +898,7 @@ protected:
     unsigned char fillChar;
 };
 
-class CCollationInfo : public CInterface, implements ICollationInfo
+class CCollationInfo : implements ICollationInfo, public CInterface
 {
 public:
     CCollationInfo(IAtom * _name) { name = _name; }
@@ -939,7 +939,7 @@ public:
     virtual const char * getCompareName(bool varLength)                             { return varLength ? "stricmp" : "memicmp"; }
 };
 
-class CTranslationInfo : public CInterface, implements ITranslationInfo
+class CTranslationInfo : implements ITranslationInfo, public CInterface
 {
 public:
     CTranslationInfo(IAtom * _name, ICharsetInfo * src, ICharsetInfo * tgt);

+ 4 - 4
common/dllserver/dllserver.cpp

@@ -104,7 +104,7 @@ IRemoteConnection * getEntryConnection(const char * name, unsigned mode)
 
 //---------------------------------------------------------------------------
 
-class TreeIteratorWrapper : public CInterface, implements IIterator
+class TreeIteratorWrapper : implements IIterator, public CInterface
 {
 public:
     TreeIteratorWrapper(IPropertyTreeIterator * _iter) { iter.setown(_iter); }
@@ -169,7 +169,7 @@ static void deleteLocationFiles(IDllLocation & cur, bool removeDirectory)
     }
 }
 
-class DllLocation : public CInterface, implements IDllLocation
+class DllLocation : implements IDllLocation, public CInterface
 {
     StringAttr cacheRoot;
 public:
@@ -306,7 +306,7 @@ protected:
 
 //---------------------------------------------------------------------------
 
-class DllEntry : public CInterface, implements IDllEntry
+class DllEntry : implements IDllEntry, public CInterface
 {
 public:
     DllEntry(IPropertyTree *root, const char *cacheRoot, IPropertyTree *owner);
@@ -479,7 +479,7 @@ protected:
 
 //---------------------------------------------------------------------------
 
-class DllServer : public CInterface, implements IDllServer
+class DllServer : implements IDllServer, public CInterface
 {
 public:
     DllServer(const char * _rootDir);

+ 1 - 1
common/dllserver/thorplugin.cpp

@@ -66,7 +66,7 @@ const char * SimplePluginCtx::ctxQueryProp(const char *propName) const
 
 //-------------------------------------------------------------------------------------------------------------------
 
-class HelperDll : public CInterface, implements ILoadedDllEntry
+class HelperDll : implements ILoadedDllEntry, public CInterface
 {
     SharedObject so;
     StringAttr name;

+ 3 - 3
common/environment/environment.cpp

@@ -101,7 +101,7 @@ protected:
 
 class CConstInstanceInfo;
 
-class CLocalEnvironment : public CInterface, implements IConstEnvironment
+class CLocalEnvironment : implements IConstEnvironment, public CInterface
 {
 private:
     // NOTE - order is important - we need to construct before p and (especially) destruct after p
@@ -179,7 +179,7 @@ public:
     IConstDropZoneInfo * getDropZoneByIndex(unsigned index) const;
 };
 
-class CLockedEnvironment : public CInterface, implements IEnvironment
+class CLockedEnvironment : implements IEnvironment, public CInterface
 {
 public:
     //note that order of construction/destruction is important
@@ -370,7 +370,7 @@ void CLockedEnvironment::rollback()
 // updates by other clients and is used by environment factory below.  This also serves as 
 // a sample self-contained implementation that can be easily tailored for other purposes.
 //==========================================================================================
-class CSdsSubscription : public CInterface, implements ISDSSubscription
+class CSdsSubscription : implements ISDSSubscription, public CInterface
 {
 public:
     CSdsSubscription()

+ 1 - 1
common/fileview2/fvdisksource.ipp

@@ -84,7 +84,7 @@ protected:
 };
 
 
-class CsvRecordSize : public CInterface, implements IRecordSizeEx
+class CsvRecordSize : implements IRecordSizeEx, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE

+ 4 - 5
common/fileview2/fvresultset.ipp

@@ -70,7 +70,7 @@ public:
     byte flag;
 };
 
-class CResultSetMetaData : public CInterface, implements IResultSetMetaData
+class CResultSetMetaData : implements IResultSetMetaData, public CInterface
 {
     friend class CResultSet;
     friend class CResultSetCursor;
@@ -318,7 +318,7 @@ protected:
     UInt64Array validOffsets;
 };
 
-class CResultSetCursor : public CInterface, implements IExtendedResultSetCursor
+class CResultSetCursor : implements IExtendedResultSetCursor, public CInterface
 {
 public:
     CResultSetCursor(const CResultSetMetaData & _meta, IExtendedNewResultSet * _resultSet);
@@ -394,7 +394,7 @@ protected:
 
 //---------------------------------------------------------------------------
 
-class IndirectResultSetCursor : public CInterface, implements IExtendedResultSetCursor
+class IndirectResultSetCursor : implements IExtendedResultSetCursor, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE;
@@ -536,7 +536,7 @@ protected:
 };
 
 
-class CFilteredResultSetBuilder : public CInterface, implements IFilteredResultSet
+class CFilteredResultSetBuilder : implements IFilteredResultSet, public CInterface
 {
 public:
     CFilteredResultSetBuilder(IExtendedNewResultSet * _resultSet);
@@ -604,7 +604,6 @@ class CRemoteResultSetFactory : public CResultSetFactoryBase
 public:
     CRemoteResultSetFactory(const char * remoteServer, const char * _username, const char * _password);
     CRemoteResultSetFactory(const char * remoteServer, ISecManager &secmgr, ISecUser &secuser);
-    IMPLEMENT_IINTERFACE
 
     virtual INewResultSet * createNewResultSet(IConstWUResult * wuResult, const char * wuid);
     virtual INewResultSet * createNewFileResultSet(const char * logicalFile, const char * cluster);

+ 2 - 2
common/fileview2/fvsource.ipp

@@ -37,7 +37,7 @@ interface IRecordSizeEx : public IRecordSize
     virtual size32_t getRecordSize(unsigned maxLength, const void *rec) = 0;
 };
 
-class RecordSizeToEx : public CInterface, implements IRecordSizeEx
+class RecordSizeToEx : implements IRecordSizeEx, public CInterface
 {
 public:
     RecordSizeToEx(IRecordSize * _recordSize) : recordSize(_recordSize) {}
@@ -90,7 +90,7 @@ public:
     bool hasMixedContent;
 };
 
-class DataSourceMetaData : public CInterface, implements IFvDataSourceMetaData, public IRecordSizeEx
+class DataSourceMetaData : implements IFvDataSourceMetaData, public IRecordSizeEx, public CInterface
 {
     friend class DataSourceSetItem;
     friend class DataSourceDatasetItem;

+ 3 - 3
common/remote/hooks/git/gitfile.cpp

@@ -75,7 +75,7 @@ static StringBuffer & buildGitFileName(StringBuffer &fullname, const char *gitDi
     return fullname;
 }
 
-class GitRepositoryFileIO : public CInterface, implements IFileIO
+class GitRepositoryFileIO : implements IFileIO, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE;
@@ -149,7 +149,7 @@ protected:
     MemoryBuffer buf;
 };
 
-class GitRepositoryFile : public CInterface, implements IFile
+class GitRepositoryFile : implements IFile, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE;
@@ -290,7 +290,7 @@ static IFile *createGitFile(const char *gitFileName)
         return new GitRepositoryFile(gitFileName, (offset_t) -1, false, false);
 }
 
-class GitRepositoryDirectoryIterator : public CInterface, implements IDirectoryIterator
+class GitRepositoryDirectoryIterator : implements IDirectoryIterator, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE;

+ 3 - 3
common/remote/hooks/libarchive/archive.cpp

@@ -163,7 +163,7 @@ private:
 // Have to read through the entire archive directory to find the bit you want, it seems
 // It's possible that we could add some seek support to at least avoid having to do so twice?
 
-class ArchiveFileIO : public CInterface, implements IFileIO
+class ArchiveFileIO : implements IFileIO, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE;
@@ -303,7 +303,7 @@ protected:
 // in the hope they might be useful for directly seeking to the file to be extracted
 // at some point.
 
-class ArchiveFile : public CInterface, implements IFile
+class ArchiveFile : implements IFile, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE;
@@ -456,7 +456,7 @@ static IFile *createIFileInArchive(const char *containedFileName)
     }
 }
 
-class ArchiveDirectoryIterator : public CInterface, implements IDirectoryIterator
+class ArchiveDirectoryIterator : implements IDirectoryIterator, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE;

+ 0 - 1
common/remote/rmtfile.cpp

@@ -616,7 +616,6 @@ class CScriptThread : public Thread
     Semaphore done;
     bool ok;
 public:
-    IMPLEMENT_IINTERFACE;
     CScriptThread(SocketEndpoint &_ep,const char *_script)
         : script(_script), ep(_ep)
     {

+ 7 - 7
common/remote/sockfile.cpp

@@ -409,15 +409,15 @@ static void mergeOnce(OnceKey &key,size32_t sz,const void *data)
 
 //---------------------------------------------------------------------------
 
-class CDafsException: public CInterface, public IDAFS_Exception
+class CDafsException: public IDAFS_Exception, public CInterface
 {
-    StringAttr msg;
     int     errcode;
+    StringAttr msg;
 public:
     IMPLEMENT_IINTERFACE;
 
     CDafsException(int code,const char *_msg) 
-        : msg(_msg), errcode(code)
+        : errcode(code), msg(_msg)
     {
     };
 
@@ -1243,7 +1243,7 @@ unsigned CRemoteBase::lastfailtime;
 
 //---------------------------------------------------------------------------
 
-class CRemoteDirectoryIterator : public CInterface, implements IDirectoryDifferenceIterator
+class CRemoteDirectoryIterator : implements IDirectoryDifferenceIterator, public CInterface
 {
     Owned<IFile>    cur;
     bool            curvalid;
@@ -2069,7 +2069,7 @@ extern bool clientAsyncCopyFileSection(const char *uuid,
 
 //---------------------------------------------------------------------------
 
-class CRemoteFileIO : public CInterface, implements IFileIO
+class CRemoteFileIO : implements IFileIO, public CInterface
 {
 protected:
     Linked<CRemoteFile> parent;
@@ -3047,10 +3047,10 @@ public:
     }
 };
 
-class CRemoteFileServer : public CInterface, implements IRemoteFileServer
+class CRemoteFileServer : implements IRemoteFileServer, public CInterface
 {
     class CThrottler;
-    class CRemoteClientHandler : public CInterface, implements ISocketSelectNotify
+    class CRemoteClientHandler : implements ISocketSelectNotify, public CInterface
     {
     public:
         CRemoteFileServer *parent;

+ 1 - 1
common/roxiecommlib/roxiecommunicationclient.cpp

@@ -26,7 +26,7 @@
 #define GET_LOCK_FAILURE            1100
 
 //////////////////////////////////////////
-class CRoxieCommunicationClient: public CInterface, implements IRoxieCommunicationClient
+class CRoxieCommunicationClient: implements IRoxieCommunicationClient, public CInterface
 {
 private:
     void processRoxieQueryList(IPropertyTree *info)

+ 1 - 1
common/thorhelper/layouttrans.ipp

@@ -96,7 +96,7 @@ private:
 
 class CRecordLayoutTranslator;
 
-class ExpandedSegmentMonitorList : public CInterface, public IRecordLayoutTranslator::SegmentMonitorContext
+class ExpandedSegmentMonitorList : public IRecordLayoutTranslator::SegmentMonitorContext, public CInterface
 {
 public:
     ExpandedSegmentMonitorList(CRecordLayoutTranslator * _owner) : owner(_owner) {}

+ 1 - 1
common/thorhelper/roxiedebug.hpp

@@ -122,7 +122,7 @@ public:
 extern THORHELPER_API IRowMatcher *createRowMatcher(const char *fieldName, BreakpointConditionMode condition, const char *value, bool caseSensitive);
 extern THORHELPER_API IRowMatcher *createRowMatcher(MemoryBuffer &serialized);
 
-class THORHELPER_API CBreakpointInfo : public CInterface, implements IBreakpointInfo
+class THORHELPER_API CBreakpointInfo : implements IBreakpointInfo, public CInterface
 {
 private:
     BreakpointMode mode;

+ 0 - 88
common/thorhelper/roxiehelper.cpp

@@ -798,93 +798,6 @@ public:
     }
 };
 
-#define INSERTION_SORT_BLOCKSIZE 1024
-
-class SortedBlock : public CInterface, implements IInterface
-{
-    unsigned sequence;
-    const void **rows;
-    unsigned length;
-    unsigned pos;
-
-    SortedBlock(const SortedBlock &);
-public:
-    IMPLEMENT_IINTERFACE;
-
-    SortedBlock(unsigned _sequence, roxiemem::IRowManager *rowManager, unsigned activityId) : sequence(_sequence)
-    {
-        rows = (const void **) rowManager->allocate(INSERTION_SORT_BLOCKSIZE * sizeof(void *), activityId);
-        length = 0;
-        pos = 0;
-    }
-
-    ~SortedBlock()
-    {
-        roxiemem::ReleaseRoxieRowRange(rows, pos, length);
-        ReleaseRoxieRow(rows);
-    }
-
-    int compareTo(SortedBlock *r, ICompare *compare)
-    {
-        int rc = compare->docompare(rows[pos], r->rows[r->pos]);
-        if (!rc)
-            rc = sequence - r->sequence;
-        return rc;
-    }
-
-    const void *next()
-    {
-        if (pos < length)
-            return rows[pos++];
-        else
-            return NULL;
-    }
-
-    inline bool eof()
-    {
-        return pos==length;
-    }
-
-    bool insert(const void *next, ICompare *_compare )
-    {
-        unsigned b = length;
-        if (b == INSERTION_SORT_BLOCKSIZE)
-            return false;
-        else if (b < 7)
-        {
-            while (b)
-            {
-                if (_compare->docompare(next, rows[b-1]) >= 0)
-                    break;
-                b--;
-            }
-            if (b != length)
-                memmove(&rows[b+1], &rows[b], (length - b) * sizeof(void *));
-            rows[b] = next;
-            length++;
-            return true;
-        }
-        else
-        {
-            unsigned int a = 0;
-            while ((int)a<b)
-            {
-                int i = (a+b)/2; // cannot overflow
-                int rc = _compare->docompare(next, rows[i]);
-                if (rc>=0)
-                    a = i+1;
-                else
-                    b = i;
-            }
-            if (a != length)
-                memmove(&rows[a+1], &rows[a], (length - a) * sizeof(void *));
-            rows[a] = next;
-            length++;
-            return true;
-        }
-    }
-};
-
 class CHeapSortAlgorithm : public CSortAlgorithm
 {
     unsigned curIndex;
@@ -2494,7 +2407,6 @@ class COrderedOutputSerializer : implements IOrderedOutputSerializer, public CIn
         bool closed;
         StringBuffer sb;
     public:
-        IMPLEMENT_IINTERFACE;
         COrderedResult() : closed(false) {}
         bool flush(FILE * outFile, bool onlyClosed)
         {

+ 1 - 2
common/thorhelper/roxiehelper.hpp

@@ -59,7 +59,6 @@ private:
     void parseURL();
 
 public:
-    IMPLEMENT_IINTERFACE;
     HttpHelper(StringArray *_validTargets) : validTargets(_validTargets), method(HttpMethod::NONE) {parameters.setown(createProperties(true));}
     inline bool isHttp() { return method!=HttpMethod::NONE; }
     inline bool isHttpGet(){ return method==HttpMethod::GET; }
@@ -307,7 +306,7 @@ interface SafeSocket : extends IInterface
     virtual bool getAdaptiveRoot()=0;
 };
 
-class THORHELPER_API CSafeSocket : public CInterface, implements SafeSocket
+class THORHELPER_API CSafeSocket : implements SafeSocket, public CInterface
 {
 protected:
     Linked<ISocket> sock;

+ 3 - 5
common/thorhelper/roxielmj.hpp

@@ -80,8 +80,6 @@ class THORHELPER_API CRHDualCache: public CInterface
     QueueOf<CRHRollingCacheElem,true> cache;
 public:
 
-    IMPLEMENT_IINTERFACE;
-
     CRHDualCache();
     ~CRHDualCache();
     void init(IRowStream * _in);
@@ -93,11 +91,11 @@ public:
 
     bool get(unsigned n, CRHRollingCacheElem *&out);
 
-    class cOut: public CInterface, public IRowStream
+    class cOut: public IRowStream, public CInterface
     {
     private:
-        CRHDualCache *parent;
         bool stopped;
+        CRHDualCache *parent;
         unsigned &pos;
     public:
         IMPLEMENT_IINTERFACE;
@@ -118,7 +116,7 @@ inline int iabs(int a) { return a<0?-a:a; }
 inline int imin(int a,int b) { return a<b?a:b; }
 
 //CRHLimitedCompareHelper
-class CRHLimitedCompareHelper: public CInterface, implements IRHLimitedCompareHelper
+class CRHLimitedCompareHelper: implements IRHLimitedCompareHelper, public CInterface
 {
     Owned<CRHRollingCache> cache;
     unsigned atmost;

+ 3 - 3
common/thorhelper/roxierow.cpp

@@ -119,11 +119,11 @@ bool isRowCheckValid(unsigned allocatorId, const void * row)
 //More: Function to calculate the total size of a row - requires access to a rowallocator.
 
 //--------------------------------------------------------------------------------------------------------------------
-class RoxieEngineRowAllocatorBase : public CInterface, implements IEngineRowAllocator
+class RoxieEngineRowAllocatorBase : implements IEngineRowAllocator, public CInterface
 {
 public:
     RoxieEngineRowAllocatorBase(IRowAllocatorMetaActIdCache * _cache, roxiemem::IRowManager & _rowManager, IOutputMetaData * _meta, unsigned _activityId, unsigned _allocatorId, roxiemem::RoxieHeapFlags _createFlags)
-        : cache(_cache), rowManager(_rowManager), meta(_meta), createFlags(_createFlags)
+        : createFlags(_createFlags), cache(_cache), rowManager(_rowManager), meta(_meta)
     {
         activityId = _activityId;
         allocatorId = _allocatorId;
@@ -256,12 +256,12 @@ protected:
 
 protected:
     static CriticalSection cs; // Very unlikely to have contention, so share between all allocators
+    roxiemem::RoxieHeapFlags createFlags;
     IRowAllocatorMetaActIdCache * cache;
     roxiemem::IRowManager & rowManager;
     const CachedOutputMetaData meta;
     unsigned activityId;
     unsigned allocatorId;
-    roxiemem::RoxieHeapFlags createFlags;
     IArrayOf<IEngineRowAllocator> children;
 };
 

+ 1 - 1
common/thorhelper/roxierow.hpp

@@ -46,7 +46,7 @@ inline bool RoxieRowCheckValid(unsigned allocatorId, const void * row)
     return true;
 }
 
-class RoxieRowLinkCounter : public CSimpleInterface, implements IRowLinkCounter
+class RoxieRowLinkCounter : implements IRowLinkCounter, public CSimpleInterface
 {
 public:
     IMPLEMENT_IINTERFACE_USING(CSimpleInterface);

+ 5 - 5
common/thorhelper/thorcommon.cpp

@@ -1059,11 +1059,11 @@ void CThorContiguousRowBuffer::skipVUni()
 
 IRowInterfaces *createRowInterfaces(IOutputMetaData *meta, unsigned actid, ICodeContext *context)
 {
-    class cRowInterfaces: public CSimpleInterface, implements IRowInterfaces
+    class cRowInterfaces: implements IRowInterfaces, public CSimpleInterface
     {
+        unsigned actid;
         Linked<IOutputMetaData> meta;
         ICodeContext* context;
-        unsigned actid;
         Linked<IEngineRowAllocator> allocator;
         Linked<IOutputRowSerializer> serializer;
         Linked<IOutputRowDeserializer> deserializer;
@@ -1122,7 +1122,7 @@ IRowInterfaces *createRowInterfaces(IOutputMetaData *meta, unsigned actid, ICode
     return new cRowInterfaces(meta,actid,context);
 };
 
-class CRowStreamReader : public CSimpleInterface, implements IExtRowStream
+class CRowStreamReader : implements IExtRowStream, public CSimpleInterface
 {
     Linked<IFileIO> fileio;
     Linked<IMemoryMappedFile> mmfile;
@@ -1341,7 +1341,7 @@ void useMemoryMappedRead(bool on)
 }
 
 #define ROW_WRITER_BUFFERSIZE (0x100000)
-class CRowStreamWriter : public CSimpleInterface, private IRowSerializerTarget, implements IExtRowWriter
+class CRowStreamWriter : private IRowSerializerTarget, implements IExtRowWriter, public CSimpleInterface
 {
     Linked<IFileIOStream> stream;
     Linked<IOutputRowSerializer> serializer;
@@ -1585,7 +1585,7 @@ IExtRowWriter *createRowWriter(IFileIOStream *strm, IRowInterfaces *rowIf, unsig
     return writer.getClear();
 }
 
-class CDiskMerger : public CInterface, implements IDiskMerger
+class CDiskMerger : implements IDiskMerger, public CInterface
 {
     IArrayOf<IFile> tempfiles;
     IRowStream **strms;

+ 7 - 8
common/thorhelper/thorcommon.ipp

@@ -235,10 +235,9 @@ class THORHELPER_API RowAggregator : private SuperHashTable
     // that we always do exactly one iteration through the hash table. We therefore DON'T free anything in onRemove.
     
 public:
-    IMPLEMENT_IINTERFACE;
-    
     RowAggregator(IHThorHashAggregateExtra &_extra, IHThorRowAggregator & _helper);
     ~RowAggregator();
+    IMPLEMENT_IINTERFACE
 
     void reset();
     void start(IEngineRowAllocator *rowAllocator);
@@ -279,7 +278,7 @@ private:
 
 //------------------------------------------------------------------------------------------------
 
-class THORHELPER_API CPrefixedRowSerializer : public CInterface, implements IOutputRowSerializer
+class THORHELPER_API CPrefixedRowSerializer : implements IOutputRowSerializer, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE;
@@ -338,7 +337,7 @@ protected:
     Owned<ISourceRowPrefetcher> original;
 };
 
-class THORHELPER_API CPrefixedOutputMeta : public CInterface, implements IOutputMetaData
+class THORHELPER_API CPrefixedOutputMeta : implements IOutputMetaData, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE;
@@ -419,7 +418,7 @@ protected:
 
 //------------------------------------------------------------------------------------------------
 
-class THORHELPER_API CSuffixedRowSerializer : public CInterface, implements IOutputRowSerializer
+class THORHELPER_API CSuffixedRowSerializer : implements IOutputRowSerializer, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE;
@@ -662,7 +661,7 @@ protected:
 };
 
 
-class THORHELPER_API CSimpleFixedRowSerializer : public CInterface, implements IOutputRowSerializer
+class THORHELPER_API CSimpleFixedRowSerializer : implements IOutputRowSerializer, public CInterface
 {
 public:
     CSimpleFixedRowSerializer(size32_t _fixedSize) : fixedSize(_fixedSize) {}
@@ -677,7 +676,7 @@ protected:
     size32_t fixedSize;
 };
 
-class THORHELPER_API CSimpleFixedRowDeserializer : public CInterface, implements IOutputRowDeserializer
+class THORHELPER_API CSimpleFixedRowDeserializer : implements IOutputRowDeserializer, public CInterface
 {
 public:
     CSimpleFixedRowDeserializer(size32_t _fixedSize) : fixedSize(_fixedSize) {}
@@ -693,7 +692,7 @@ protected:
     size32_t fixedSize;
 };
 
-class THORHELPER_API CSimpleVariableRowSerializer : public CInterface, implements IOutputRowSerializer
+class THORHELPER_API CSimpleVariableRowSerializer : implements IOutputRowSerializer, public CInterface
 {
 public:
     CSimpleVariableRowSerializer(const CachedOutputMetaData * _meta) : meta(_meta) {}

+ 5 - 5
common/thorhelper/thorparse.ipp

@@ -96,7 +96,7 @@ protected:
 };
 
 
-class CMatchedElement : public CInterface, public IMatchedElement
+class CMatchedElement : public IMatchedElement, public CInterface
 {
 public:
     CMatchedElement(MatchState * _cur)                      { cur = _cur; }
@@ -110,7 +110,7 @@ protected:
     MatchState * cur;
 };
 
-class NoMatchElement : public CInterface, public IMatchedElement
+class NoMatchElement : public IMatchedElement, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE
@@ -123,7 +123,7 @@ public:
     const byte * ptr;
 };
 
-class MatchWalker2MatchedElement : public CInterface, public IMatchedElement
+class MatchWalker2MatchedElement : public IMatchedElement, public CInterface
 {
 public:
     MatchWalker2MatchedElement(IMatchWalker * _cur)         { cur.set(_cur); }
@@ -159,7 +159,7 @@ public:
 };
 
 
-class THORHELPER_API CMatchedResults : public CInterface, implements IMatchedResults
+class THORHELPER_API CMatchedResults : implements IMatchedResults, public CInterface
 {
 public:
     CMatchedResults(CMatchedResultInfo * _def);
@@ -187,7 +187,7 @@ protected:
 };
 
 
-class NlpMatchWalker : public CInterface, public IMatchWalker
+class NlpMatchWalker : public IMatchWalker, public CInterface
 {
 public:
     NlpMatchWalker(MatchState * state) { curMatch = state; }

+ 2 - 3
common/thorhelper/thorpipe.cpp

@@ -99,7 +99,7 @@ IPipeErrorHelper * createPipeErrorHelper()
 
 #define PIPE_BUFSIZE 0x8000
 
-class CBufferedReadRowStream : public CInterface, implements IReadRowStream
+class CBufferedReadRowStream : implements IReadRowStream, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE;
@@ -154,7 +154,6 @@ private:
 class CReadRowCSVStream : extends CBufferedReadRowStream
 {
 public:
-    IMPLEMENT_IINTERFACE;
     CReadRowCSVStream(IEngineRowAllocator * _rowAllocator, ICsvToRowTransformer * _csvTransformer)
         : CBufferedReadRowStream(_rowAllocator), csvTransformer(_csvTransformer)
     {
@@ -209,7 +208,7 @@ private:
 };
 
 
-class CReadRowXMLStream : public CInterface, implements IReadRowStream, implements IXMLSelect, implements IThorDiskCallback
+class CReadRowXMLStream : implements IReadRowStream, implements IXMLSelect, implements IThorDiskCallback, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE;

+ 0 - 1
common/thorhelper/thorralgo.ipp

@@ -1050,7 +1050,6 @@ class THORHELPER_API RegexAlgorithm : public NlpAlgorithm
 public:
     RegexAlgorithm(IOutputMetaData * outRecordSize, byte _kind);
     ~RegexAlgorithm();
-    IMPLEMENT_IINTERFACE
 
     virtual INlpParser * createParser(ICodeContext * ctx, unsigned activityId, INlpHelper * helper, IHThorParseArg * arg);
     virtual void init(IHThorParseArg & arg);

+ 4 - 4
common/thorhelper/thorsoapcall.cpp

@@ -56,7 +56,7 @@ public:
 
 #define EXCEPTION_PREFIX "ReceivedRoxieException:"
 
-class ReceivedRoxieException: public CInterface, public IReceivedRoxieException
+class ReceivedRoxieException: public IReceivedRoxieException, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE;
@@ -484,7 +484,7 @@ MODULE_EXIT()
 
 //=================================================================================================
 
-class ColumnProvider : public CInterface, public IColumnProvider
+class ColumnProvider : public IColumnProvider, public CInterface
 {
 public:
     ColumnProvider(unsigned _callLatencyMs) : callLatencyMs(_callLatencyMs), base(NULL) {}
@@ -600,7 +600,7 @@ IWSCAsyncFor * createWSCAsyncFor(CWSCHelper * _master, CommonXmlWriter &_xmlWrit
 
 //=================================================================================================
 
-class CMatchCB : public CInterface, implements IXMLSelect
+class CMatchCB : implements IXMLSelect, public CInterface
 {
     IWSCAsyncFor &parent;
     const Url &url;
@@ -699,7 +699,7 @@ public:
 
 //=================================================================================================
 
-class CWSCHelper : public CInterface, implements IWSCHelper
+class CWSCHelper : implements IWSCHelper, public CInterface
 {
 private:
     SimpleInterThreadQueueOf<const void, true> outputQ;

+ 4 - 4
common/thorhelper/thorstep.ipp

@@ -379,7 +379,7 @@ protected:
 };
 
 
-class THORHELPER_API CUnfilteredSteppedMerger : public CInterface, implements ISteppedJoinRowGenerator
+class THORHELPER_API CUnfilteredSteppedMerger : implements ISteppedJoinRowGenerator, public CInterface
 {
 public:
     CUnfilteredSteppedMerger(unsigned _numEqualFields) : merger(_numEqualFields)
@@ -519,7 +519,7 @@ protected:
 };
 
 
-class CFilteredSteppedMerger : public CInterface, implements ISteppedJoinRowGenerator
+class CFilteredSteppedMerger : implements ISteppedJoinRowGenerator, public CInterface
 {
 public:
     CFilteredSteppedMerger();
@@ -559,7 +559,7 @@ protected:
 
 class CSteppedConjunctionOptimizer;
 class CJoinGenerator;
-class THORHELPER_API CMergeJoinProcessor : public CInterface, implements ISteppedInput, implements ISteppedJoin
+class THORHELPER_API CMergeJoinProcessor : implements ISteppedInput, implements ISteppedJoin, public CInterface
 {
 public:
     CMergeJoinProcessor(IHThorNWayMergeJoinArg & _arg);
@@ -913,7 +913,7 @@ protected:
 };
 
 
-class CJoinGenerator : public CInterface, implements ISteppedJoinRowGenerator
+class CJoinGenerator : implements ISteppedJoinRowGenerator, public CInterface
 {
 public:
     CJoinGenerator(IEngineRowAllocator * _inputAllocator, IEngineRowAllocator * _outputAllocator, IHThorNWayMergeJoinArg & _helper, CSteppedInputLookaheadArray & _inputs);

+ 2 - 2
common/thorhelper/thortparse.ipp

@@ -55,7 +55,7 @@ protected:
 
 //---------------------------------------------------------------------------
 
-class GrammarSymbol : public CInterface, public IMatchedElement
+class GrammarSymbol : implements IMatchedElement, public CInterface
 {
 public:
     GrammarSymbol(symbol_id _id)                            { id = _id; penalty = 0; }
@@ -160,7 +160,7 @@ private:
 //---------------------------------------------------------------------------
 
 class PackedSymbolChoice;
-class TomitaMatchWalker : public CInterface, implements IMatchWalker
+class TomitaMatchWalker : implements IMatchWalker, public CInterface
 {
 public:
     TomitaMatchWalker(const PackedSymbolChoice & _choice, GrammarSymbol * _symbol);

+ 5 - 5
common/thorhelper/thorxmlread.cpp

@@ -976,7 +976,7 @@ public:
     }
 };
 
-class CMarkReadStream : public CMarkReadBase, implements ISimpleReadStream
+class CMarkReadStream : implements ISimpleReadStream, public CMarkReadBase
 {
     ISimpleReadStream &stream;
     offset_t readOffset, markingOffset;
@@ -1127,7 +1127,7 @@ public:
     offset_t startOffset, endOffset;
 };
 
-class COffsetNodeCreator : public CInterface, implements IPTreeNodeCreator
+class COffsetNodeCreator : implements IPTreeNodeCreator, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE;
@@ -1136,7 +1136,7 @@ public:
     virtual IPropertyTree *create(const char *tag) { return new CPTreeWithOffsets(tag); }
 };
 
-class thorhelper_decl CColumnIterator : public CInterface, implements IColumnProviderIterator
+class thorhelper_decl CColumnIterator : implements IColumnProviderIterator, public CInterface
 {
     Linked<IColumnProvider> parent;
     Linked<IPropertyTree> root, matchNode;
@@ -1172,7 +1172,7 @@ public:
     void setCurrent();
 };
 
-class CColumnProvider : public CInterface, implements IColumnProvider
+class CColumnProvider : implements IColumnProvider, public CInterface
 {
     Linked<IPropertyTree> root, node;
     MemoryBuffer contentMb;
@@ -1599,7 +1599,7 @@ void CColumnIterator::setCurrent()
 }
 
 
-class CXMLParse : public CInterface, implements IXMLParse
+class CXMLParse : implements IXMLParse, public CInterface
 {
     IPullPTreeReader *xmlReader;
     StringAttr xpath;

+ 6 - 10
common/thorhelper/thorxmlread.hpp

@@ -33,7 +33,7 @@
 #include "thorhelper.hpp"
 #include "csvsplitter.hpp"
 
-class thorhelper_decl XmlColumnProvider : public CInterface, implements IColumnProvider
+class thorhelper_decl XmlColumnProvider : implements IColumnProvider, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE;
@@ -47,8 +47,6 @@ protected:
 class thorhelper_decl XmlDatasetColumnProvider : public XmlColumnProvider
 {
 public:
-    IMPLEMENT_IINTERFACE
-
 //IColumnProvider
     virtual bool        getBool(const char * name);
     virtual void        getData(size32_t len, void * text, const char * name);
@@ -80,7 +78,7 @@ public:
 
 };
 
-class thorhelper_decl XmlColumnIterator : public CInterface, implements IColumnProviderIterator
+class thorhelper_decl XmlColumnIterator : implements IColumnProviderIterator, public CInterface
 {
 public:
     XmlColumnIterator(IPropertyTreeIterator * _iter);
@@ -100,8 +98,6 @@ protected:
 class thorhelper_decl XmlSetColumnProvider : public XmlColumnProvider
 {
 public:
-    IMPLEMENT_IINTERFACE
-
 //IColumnProvider
     virtual bool        getBool(const char * name);
     virtual void        getData(size32_t len, void * text, const char * name);
@@ -133,7 +129,7 @@ public:
 
 };
 
-class thorhelper_decl CXmlToRawTransformer : public CInterface, implements IXmlToRawTransformer
+class thorhelper_decl CXmlToRawTransformer : implements IXmlToRawTransformer, public CInterface
 {
 public:
     CXmlToRawTransformer(IXmlToRowTransformer & _rowTransformer, PTreeReaderOptions _xmlReadFlags)
@@ -150,7 +146,7 @@ protected:
     PTreeReaderOptions xmlReadFlags;
 };
 
-class thorhelper_decl CCsvToRawTransformer : public CInterface, implements ICsvToRawTransformer
+class thorhelper_decl CCsvToRawTransformer : implements ICsvToRawTransformer, public CInterface
 {
 public:
     CCsvToRawTransformer(ICsvToRowTransformer & _rowTransformer) { rowTransformer.set(&_rowTransformer); }
@@ -163,7 +159,7 @@ protected:
 };
 
 #if 0
-class thorhelper_decl CSVColumnProvider : public CInterface, implements IColumnProvider
+class thorhelper_decl CSVColumnProvider : implements IColumnProvider, public CInterface
 {
     CSVSplitter csvSplitter;
 
@@ -178,7 +174,7 @@ public:
 };
 
 
-class thorhelper_decl CCsvToRawTransformer : public CInterface, implements IXmlToRawTransformer
+class thorhelper_decl CCsvToRawTransformer : implements IXmlToRawTransformer, public CInterface
 {
 public:
     CCsvToRawTransformer(IXmlToRowTransformer & _rowTransformer) { rowTransformer.set(&_rowTransformer); }

+ 4 - 4
common/thorhelper/thorxmlwrite.hpp

@@ -64,7 +64,7 @@ public:
     bool needDelimiter = false;
 };
 
-class thorhelper_decl CommonXmlWriter : public CInterface, implements IXmlWriterExt
+class thorhelper_decl CommonXmlWriter : implements IXmlWriterExt, public CInterface
 {
 public:
     CommonXmlWriter(unsigned _flags, unsigned initialIndent=0,  IXmlStreamFlusher *_flusher=NULL);
@@ -147,7 +147,7 @@ protected:
     bool tagClosed;
 };
 
-class thorhelper_decl CommonJsonWriter : public CInterface, implements IXmlWriterExt
+class thorhelper_decl CommonJsonWriter : implements IXmlWriterExt, public CInterface
 {
 public:
     CommonJsonWriter(unsigned _flags, unsigned initialIndent=0,  IXmlStreamFlusher *_flusher=NULL);
@@ -283,7 +283,7 @@ enum XMLWriterType{WTStandard, WTEncoding, WTEncodingData64, WTJSON} ;
 thorhelper_decl CommonXmlWriter * CreateCommonXmlWriter(unsigned _flags, unsigned initialIndent=0, IXmlStreamFlusher *_flusher=NULL, XMLWriterType xmlType=WTStandard);
 thorhelper_decl IXmlWriterExt * createIXmlWriterExt(unsigned _flags, unsigned initialIndent=0, IXmlStreamFlusher *_flusher=NULL, XMLWriterType xmlType=WTStandard);
 
-class thorhelper_decl SimpleOutputWriter : public CInterface, implements IXmlWriter
+class thorhelper_decl SimpleOutputWriter : implements IXmlWriter, public CInterface
 {
     void outputFieldSeparator();
     bool separatorNeeded;
@@ -323,7 +323,7 @@ protected:
     StringBuffer out;
 };
 
-class thorhelper_decl CommonFieldProcessor : public CInterface, implements IFieldProcessor
+class thorhelper_decl CommonFieldProcessor : implements IFieldProcessor, public CInterface
 {
     bool trim;
     StringBuffer &result;

+ 4 - 4
common/workunit/pkgimpl.hpp

@@ -25,7 +25,7 @@
 #include "package.h"
 #include "referencedfilelist.hpp"
 
-class CPackageSuperFileArray : public CInterface, implements ISimpleSuperFileEnquiry
+class CPackageSuperFileArray : implements ISimpleSuperFileEnquiry, public CInterface
 {
     IArrayOf<IPropertyTree> subFiles;
 public:
@@ -72,7 +72,7 @@ public:
     }
 };
 
-class WORKUNIT_API CPackageNode : extends CInterface, implements IHpccPackage
+class WORKUNIT_API CPackageNode : implements IHpccPackage, public CInterface
 {
 protected:
     Owned<IPropertyTree> node;
@@ -298,7 +298,7 @@ typedef CResolvedPackage<CPackageNode> CHpccPackage;
 //================================================================================================
 
 template <class TYPE, class IFACE>
-class CPackageMapOf : public CInterface, implements IHpccPackageMap
+class CPackageMapOf : implements IHpccPackageMap, public CInterface
 {
 public:
     typedef CResolvedPackage<TYPE> packageType;
@@ -597,7 +597,7 @@ typedef CPackageMapOf<CPackageNode, IHpccPackage> CHpccPackageMap;
 // CHpccPackageSet - an implementation of IHpccPackageSet
 //================================================================================================
 
-class WORKUNIT_API CHpccPackageSet : public CInterface, implements IHpccPackageSet
+class WORKUNIT_API CHpccPackageSet : implements IHpccPackageSet, public CInterface
 {
     IArrayOf<CHpccPackageMap> packageMaps;
     StringAttr process;

+ 3 - 3
common/workunit/referencedfilelist.cpp

@@ -120,7 +120,7 @@ void splitDerivedDfsLocation(const char *address, StringBuffer &cluster, StringB
 
 class ReferencedFileList;
 
-class ReferencedFile : public CInterface, implements IReferencedFile
+class ReferencedFile : implements IReferencedFile, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE;
@@ -194,7 +194,7 @@ public:
     bool trackSubFiles;
 };
 
-class ReferencedFileList : public CInterface, implements IReferencedFileList
+class ReferencedFileList : implements IReferencedFileList, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE;
@@ -499,7 +499,7 @@ void ReferencedFile::cloneSuperInfo(unsigned updateFlags, ReferencedFileList *li
     }
 }
 
-class ReferencedFileIterator : public CInterface, implements IReferencedFileIterator
+class ReferencedFileIterator : implements IReferencedFileIterator, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE;

+ 2 - 2
common/workunit/workflow.cpp

@@ -94,7 +94,7 @@ static int getEnum(IPropertyTree *p, const char *propname, mapEnums *map)
 }
 
 
-class CWorkflowDependencyIterator : public CInterface, implements IWorkflowDependencyIterator
+class CWorkflowDependencyIterator : implements IWorkflowDependencyIterator, public CInterface
 {
 public:
     CWorkflowDependencyIterator(IPropertyTree * tree) { iter.setown(tree->getElements("Dependency")); }
@@ -120,7 +120,7 @@ private:
     StringAttr text;
 };
 
-class CWorkflowItem : public CInterface, implements IWorkflowItem
+class CWorkflowItem : implements IWorkflowItem, public CInterface
 {
 public:
     CWorkflowItem(IPropertyTree & _tree) { tree.setown(&_tree); }

+ 1 - 1
common/workunit/workflow.hpp

@@ -23,7 +23,7 @@
 #include "jlog.hpp"
 #include "eclhelper.hpp"
 
-class WORKUNIT_API WorkflowException : public CInterface, public IException
+class WORKUNIT_API WorkflowException : public IException, public CInterface
 {
 public:
     typedef enum { SYSTEM, USER, ABORT } Type;

+ 24 - 25
common/workunit/workunit.cpp

@@ -983,7 +983,6 @@ bool CPersistedWorkUnit::aborting() const
 class CDaliWorkUnit : public CPersistedWorkUnit
 {
 public:
-    IMPLEMENT_IINTERFACE;
     CDaliWorkUnit(IRemoteConnection *_conn, ISecManager *secmgr, ISecUser *secuser)
         : connection(_conn), CPersistedWorkUnit(secmgr, secuser)
     {
@@ -1204,7 +1203,7 @@ protected:
     mutable Owned<IRemoteConnection> progressConnection;
 };
 
-class CLockedWorkUnit : public CInterface, implements ILocalWorkUnit, implements IExtendedWUInterface
+class CLockedWorkUnit : implements ILocalWorkUnit, implements IExtendedWUInterface, public CInterface
 {
 public:
     Owned<CLocalWorkUnit> c;
@@ -1624,7 +1623,7 @@ public:
             { c->setResultDataset(name, sequence, len, val, numRows, extend); }
 };
 
-class CLocalWUAssociated : public CInterface, implements IConstWUAssociatedFile
+class CLocalWUAssociated : implements IConstWUAssociatedFile, public CInterface
 {
     Owned<IPropertyTree> p;
 
@@ -1642,7 +1641,7 @@ public:
     virtual unsigned getMaxActivityId() const;
 };
 
-class CLocalWUQuery : public CInterface, implements IWUQuery
+class CLocalWUQuery : implements IWUQuery, public CInterface
 {
     Owned<IPropertyTree> p;
     mutable IArrayOf<IConstWUAssociatedFile> associated;
@@ -1679,7 +1678,7 @@ public:
     virtual void        removeAssociatedFile(WUFileType type, const char * name, const char * desc);
 };
 
-class CLocalWUWebServicesInfo : public CInterface, implements IWUWebServicesInfo
+class CLocalWUWebServicesInfo : implements IWUWebServicesInfo, public CInterface
 {
     Owned<IPropertyTree> p;
     mutable CriticalSection crit;
@@ -1705,7 +1704,7 @@ public:
     virtual void        setWebServicesCRC(unsigned);
 };
 
-class CLocalWUResult : public CInterface, implements IWUResult
+class CLocalWUResult : implements IWUResult, public CInterface
 {
     friend class CLocalWorkUnit;
 
@@ -1789,7 +1788,7 @@ public:
     virtual IPropertyTree *queryPTree() { return p; }
 };
 
-class CLocalWUPlugin : public CInterface, implements IWUPlugin
+class CLocalWUPlugin : implements IWUPlugin, public CInterface
 {
     Owned<IPropertyTree> p;
 
@@ -1804,7 +1803,7 @@ public:
     virtual void        setPluginVersion(const char *str);
 };
 
-class CLocalWULibrary : public CInterface, implements IWULibrary
+class CLocalWULibrary : implements IWULibrary, public CInterface
 {
     Owned<IPropertyTree> p;
 
@@ -1816,7 +1815,7 @@ public:
     virtual void setName(const char * str);
 };
 
-class CLocalWUException : public CInterface, implements IWUException
+class CLocalWUException : implements IWUException, public CInterface
 {
     Owned<IPropertyTree> p;
 
@@ -1860,11 +1859,11 @@ extern WORKUNIT_API bool isSpecialResultSequence(unsigned sequence)
     }
 }
 
-class CConstWUArrayIterator : public CInterface, implements IConstWorkUnitIterator
+class CConstWUArrayIterator : implements IConstWorkUnitIterator, public CInterface
 {
+    unsigned curTreeNum;
     IArrayOf<IPropertyTree> trees;
     Owned<IConstWorkUnitInfo> cur;
-    unsigned curTreeNum;
 
     void setCurrent()
     {
@@ -1955,10 +1954,10 @@ private:
 
 //==========================================================================================
 
-class CStringArrayIterator : public CInterface, implements IStringIterator
+class CStringArrayIterator : implements IStringIterator, public CInterface
 {
-    StringArray strings;
     unsigned idx;
+    StringArray strings;
 public:
     IMPLEMENT_IINTERFACE;
     CStringArrayIterator() { idx = 0; };
@@ -1969,7 +1968,7 @@ public:
     virtual IStringVal & str(IStringVal &s) { s.set(strings.item(idx)); return s; }
 };
 
-class CCachedJobNameIterator : public CInterface, implements IStringIterator
+class CCachedJobNameIterator : implements IStringIterator, public CInterface
 {
     Owned<IPropertyTreeIterator> it;
 public:
@@ -1981,7 +1980,7 @@ public:
     virtual IStringVal & str(IStringVal &s) { s.set(it->query().queryName()+1); return s; }
 };
 
-class CEmptyStringIterator : public CInterface, implements IStringIterator
+class CEmptyStringIterator : implements IStringIterator, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE;
@@ -2080,10 +2079,10 @@ public:
 
 //==========================================================================================
 
-class CConstQuerySetQueryIterator : public CInterface, implements IConstQuerySetQueryIterator
+class CConstQuerySetQueryIterator : implements IConstQuerySetQueryIterator, public CInterface
 {
-    IArrayOf<IPropertyTree> trees;
     unsigned index;
+    IArrayOf<IPropertyTree> trees;
 public:
     IMPLEMENT_IINTERFACE;
     CConstQuerySetQueryIterator(IArrayOf<IPropertyTree> &_trees)
@@ -2124,7 +2123,7 @@ class CSecurityCache
 
 };
 
-class CConstWUIterator : public CInterface, implements IConstWorkUnitIterator
+class CConstWUIterator : implements IConstWorkUnitIterator, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE;
@@ -3214,7 +3213,7 @@ extern WORKUNIT_API IWorkUnitFactory * getDaliWorkUnitFactory()
 // A SecureWorkUnitFactory allows the security params to be supplied once to the factory rather than being supplied to each call.
 // They can still be supplied if you want...
 
-class CSecureWorkUnitFactory : public CInterface, implements IWorkUnitFactory
+class CSecureWorkUnitFactory : implements IWorkUnitFactory, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE;
@@ -3382,7 +3381,7 @@ extern WORKUNIT_API IWorkUnitFactory * getWorkUnitFactory(ISecManager *secmgr, I
 
 //==========================================================================================
 
-class CStringPTreeIterator : public CInterface, implements IStringIterator
+class CStringPTreeIterator : implements IStringIterator, public CInterface
 {
     Owned<IPropertyTreeIterator> it;
 public:
@@ -3394,7 +3393,7 @@ public:
     virtual IStringVal & str(IStringVal &s) { s.set(it->query().queryProp(NULL)); return s; }
 };
 
-class CStringPTreeTagIterator : public CInterface, implements IStringIterator
+class CStringPTreeTagIterator : implements IStringIterator, public CInterface
 {
     Owned<IPropertyTreeIterator> it;
 public:
@@ -3406,7 +3405,7 @@ public:
     virtual IStringVal & str(IStringVal &s) { s.set(it->query().queryName()); return s; }
 };
 
-class CStringPTreeAttrIterator : public CInterface, implements IStringIterator
+class CStringPTreeAttrIterator : implements IStringIterator, public CInterface
 {
     Owned<IPropertyTreeIterator> it;
     StringAttr name;
@@ -4294,7 +4293,7 @@ bool CLocalWorkUnit::getRescheduleFlag() const
     return p->getPropInt("RescheduleFlag") != 0; 
 }
 
-class NullIStringIterator : public CInterface, extends IStringIterator
+class NullIStringIterator : implements IStringIterator, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE;
@@ -4369,7 +4368,7 @@ void getRoxieProcessServers(const char *process, SocketEndpointArray &servers)
     getRoxieProcessServers(queryRoxieProcessTree(root, process), servers);
 }
 
-class CEnvironmentClusterInfo: public CInterface, implements IConstWUClusterInfo
+class CEnvironmentClusterInfo: implements IConstWUClusterInfo, public CInterface
 {
     StringAttr name;
     StringAttr alias;
@@ -9723,7 +9722,7 @@ extern WORKUNIT_API WUState getWorkUnitState(const char* state)
 
 const LogMsgCategory MCschedconn = MCprogress(1000);    // Category used to inform about schedule synchronization
 
-class CWorkflowScheduleConnection : public CInterface, implements IWorkflowScheduleConnection
+class CWorkflowScheduleConnection : implements IWorkflowScheduleConnection, public CInterface
 {
 public:
     CWorkflowScheduleConnection(char const * wuid)

+ 7 - 6
common/workunit/workunit.ipp

@@ -25,7 +25,7 @@
 #define WUID_VERSION 2 // recorded in each wuid created, useful for bkwd compat. checks
 #define GLOBAL_WORKUNIT "global"
 
-class CLocalWUAppValue : public CInterface, implements IConstWUAppValue
+class CLocalWUAppValue : implements IConstWUAppValue, public CInterface
 {
     Owned<IPropertyTree> p;
     StringAttr prop;
@@ -38,7 +38,8 @@ public:
     virtual const char *queryValue() const;
 };
 
-class CLocalWUStatistic : public CInterface, implements IConstWUStatistic
+
+class CLocalWUStatistic : implements IConstWUStatistic, public CInterface
 {
     Owned<IPropertyTree> p;
 public:
@@ -62,7 +63,7 @@ public:
     virtual bool matches(const IStatisticsFilter * filter) const;
 };
 
-class CLocalWULegacyTiming : public CInterface, implements IConstWUStatistic
+class CLocalWULegacyTiming : implements IConstWUStatistic, public CInterface
 {
     Owned<IPropertyTree> p;
 public:
@@ -163,7 +164,7 @@ template <>  struct CachedTags<CLocalWUAppValue, IConstWUAppValue>
 
 //==========================================================================================
 
-class CLocalWorkUnit : public CInterface, implements IWorkUnit , implements IExtendedWUInterface
+class CLocalWorkUnit : implements IWorkUnit , implements IExtendedWUInterface, public CInterface
 {
     friend StringBuffer &exportWorkUnitToXML(const IConstWorkUnit *wu, StringBuffer &str, bool decodeGraphs, bool includeProgress, bool hidePasswords);
     friend void exportWorkUnitToXMLFile(const IConstWorkUnit *wu, const char * filename, unsigned extraXmlFlags, bool decodeGraphs, bool includeProgress, bool hidePasswords);
@@ -587,7 +588,7 @@ protected:
     mutable bool abortState;
 };
 
-class CWorkUnitFactory : public CInterface, implements IWorkUnitFactory
+class CWorkUnitFactory : implements IWorkUnitFactory, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE;
@@ -638,7 +639,7 @@ protected:
     virtual bool _restoreWorkUnit(IPTree *pt, const char *wuid) = 0;
 };
 
-class CLocalWUGraph : public CInterface, implements IConstWUGraph
+class CLocalWUGraph : implements IConstWUGraph, public CInterface
 {
     const CLocalWorkUnit &owner;
     Owned<IPropertyTree> p;

+ 5 - 7
common/workunit/wujobq.cpp

@@ -49,11 +49,11 @@ JobQueues
 
 
 
-class CJobQueueItem: public CInterface, implements IJobQueueItem
+class CJobQueueItem: implements IJobQueueItem, public CInterface
 {
+    int priority;
     StringAttr wu;
     StringAttr owner;
-    int priority;
     SessionId sessid;
     SocketEndpoint ep;
     unsigned port;
@@ -227,7 +227,7 @@ public:
 
 
 
-class CJobQueueIterator: public CInterface, implements IJobQueueIterator
+class CJobQueueIterator: implements IJobQueueIterator, public CInterface
 {
 public:
     CJobQueueContents &items;
@@ -298,7 +298,7 @@ struct sQueueData
     unsigned lastWaitEdition;
 };
 
-class CJobQueueBase: public CInterface, implements IJobQueueConst
+class CJobQueueBase: implements IJobQueueConst, public CInterface
 {
     class cOrderedIterator
     {
@@ -780,8 +780,6 @@ class CJobQueueConst: public CJobQueueBase
     Owned<IPropertyTree> jobQueueSnapshot;
 
 public:
-    IMPLEMENT_IINTERFACE;
-
     CJobQueueConst(const char *_qname, IPropertyTree* _jobQueueSnapshot) : CJobQueueBase(_qname)
     {
         if (!_jobQueueSnapshot)
@@ -812,7 +810,7 @@ public:
     bool cancelwaiting;
     bool validateitemsessions;
 
-    class csubs: public CInterface, implements ISDSSubscription
+    class csubs: implements ISDSSubscription, public CInterface
     {
         CJobQueue *parent;
     public:

+ 2 - 2
common/wuwebview/wuwebview.cpp

@@ -30,7 +30,7 @@
 
 typedef MapStringTo<bool> BoolHash;
 
-class WuExpandedResultBuffer : public CInterface, implements IPTreeNotifyEvent
+class WuExpandedResultBuffer : implements IPTreeNotifyEvent, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE;
@@ -289,7 +289,7 @@ class WuWebView : public CInterface,
     implements IIncludeHandler
 {
 public:
-    IMPLEMENT_IINTERFACE;
+    IMPLEMENT_IINTERFACE
 
     WuWebView(IConstWorkUnit &wu, const char *_target, const char *queryname, const char *wdir, bool mapEspDir, bool delay=true) :
         manifestIncludePathsSet(false), dir(wdir), mapEspDirectories(mapEspDir), delayedDll(delay), target(_target)

+ 1 - 1
dali/base/daclient.cpp

@@ -48,7 +48,7 @@ MODULE_EXIT()
 }
 
 
-class CDaliClientException: public CInterface, public IDaliClient_Exception
+class CDaliClientException: public IDaliClient_Exception, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE;

+ 1 - 3
dali/base/dacoven.cpp

@@ -169,7 +169,7 @@ public:
 };
 
 
-class CCovenBase: public CInterface, implements ICoven
+class CCovenBase: implements ICoven, public CInterface
 {
     unsigned        ord;
     Int64Array      serverIDs;
@@ -755,8 +755,6 @@ public:
 class CCovenClient: public CCovenBase
 {
 public:
-    IMPLEMENT_IINTERFACE;
-
     CCovenClient(IGroup *grp) : CCovenBase(grp,false)
     {
     }

+ 20 - 20
dali/base/dadfs.cpp

@@ -217,10 +217,10 @@ inline void LOGFDESC(const char *title,IFileDescriptor *fdesc)
 }
 
 
-class CDFS_Exception: public CInterface, implements IDFS_Exception
+class CDFS_Exception: implements IDFS_Exception, public CInterface
 {
-    StringAttr errstr;
     int errcode;
+    StringAttr errstr;
 public:
     CDFS_Exception(int _errcode, const char *_errstr)
         : errstr(_errstr)
@@ -1010,7 +1010,7 @@ interface IDistributedFileTransactionExt : extends IDistributedFileTransaction
     virtual ICodeContext *queryCodeContext()=0;
 };
 
-class CDistributedFileDirectory: public CInterface, implements IDistributedFileDirectory
+class CDistributedFileDirectory: implements IDistributedFileDirectory, public CInterface
 {
     Owned<IUserDescriptor> defaultudesc;
     Owned<IDFSredirection> redirection;
@@ -1390,7 +1390,7 @@ public:
     }
 };
 
-class CDistributedFileTransaction: public CInterface, implements IDistributedFileTransactionExt
+class CDistributedFileTransaction: implements IDistributedFileTransactionExt, public CInterface
 {
     class CTransactionFile : public CSimpleInterface
     {
@@ -1863,7 +1863,7 @@ static bool recursiveCheckEmptyScope(IPropertyTree &ct)
 }
 
 
-class CDFScopeIterator: public CInterface, implements IDFScopeIterator
+class CDFScopeIterator: implements IDFScopeIterator, public CInterface
 {
     PointerArray scopes;
     unsigned index;
@@ -1964,10 +1964,10 @@ struct SerializeFileAttrOptions
     }
 };
 
-class CDFAttributeIterator: public CInterface, implements IDFAttributesIterator
+class CDFAttributeIterator: implements IDFAttributesIterator, public CInterface
 {
-    IArrayOf<IPropertyTree> attrs;
     unsigned index;
+    IArrayOf<IPropertyTree> attrs;
 public:
     IMPLEMENT_IINTERFACE;
 
@@ -2126,7 +2126,7 @@ public:
 };
 
 
-class CDFProtectedIterator: public CInterface, implements IDFProtectedIterator
+class CDFProtectedIterator: implements IDFProtectedIterator, public CInterface
 {
     StringAttr owner;
     StringAttr fn;
@@ -2399,7 +2399,7 @@ public:
  * ARRAYTY need to be extended from IArrayOf<>
  */
 template <class INTERFACE, class ARRAYTY>
-class CDistributedFileIteratorBase: public CInterface, implements INTERFACE
+class CDistributedFileIteratorBase: implements INTERFACE, public CInterface
 {
 protected:
     unsigned index;
@@ -2663,7 +2663,7 @@ static bool checkProtectAttr(const char *logicalname,IPropertyTree *froot,String
  * The actual interface (extended from IDistributedFile) is provided as a template argument.
  */
 template <class INTERFACE>
-class CDistributedFileBase : public CInterface, implements INTERFACE
+class CDistributedFileBase : implements INTERFACE, public CInterface
 {
 protected:
     Owned<IPropertyTree> root;    
@@ -6769,7 +6769,7 @@ unsigned getSuperFileSubs(IDistributedSuperFile *super, IArrayOf<IDistributedFil
 
 // --------------------------------------------------------
 
-class CNamedGroupIterator: public CInterface, implements INamedGroupIterator
+class CNamedGroupIterator: implements INamedGroupIterator, public CInterface
 {
     Owned<IPropertyTreeIterator> pe;
     Linked<IRemoteConnection> conn;
@@ -6882,7 +6882,7 @@ protected:
     unsigned cachedtime;
 };
 
-class CNamedGroupStore: public CInterface, implements INamedGroupStore
+class CNamedGroupStore: implements INamedGroupStore, public CInterface
 {
     CriticalSection cachesect;
     CIArrayOf<CNamedGroupCacheEntry> cache;
@@ -8322,7 +8322,7 @@ void closedownDFS()  // called by dacoven
     groupStore = NULL;
 }
 
-class CDFPartFilter : public CInterface, implements IDFPartFilter
+class CDFPartFilter : implements IDFPartFilter, public CInterface
 {
 protected:
     bool *partincluded;
@@ -11096,7 +11096,7 @@ bool CDistributedFileDirectory::filePhysicalVerify(const char *lfn, IUserDescrip
 }
 
 typedef MapStringTo<bool> SubfileSet;
-class CFilterAttrIterator: public CInterface, implements IDFAttributesIterator
+class CFilterAttrIterator: implements IDFAttributesIterator, public CInterface
 {
     Owned<IDFAttributesIterator> iter;
     Linked<IUserDescriptor> user;
@@ -11175,7 +11175,7 @@ bool decodeChildGroupName(const char *gname,StringBuffer &parentname, StringBuff
     return true;
 }
 
-class CLightWeightSuperFileConn: public CInterface, implements ISimpleSuperFileEnquiry
+class CLightWeightSuperFileConn: implements ISimpleSuperFileEnquiry, public CInterface
 {
     CFileLock lock;
     bool readonly;
@@ -11502,7 +11502,7 @@ bool CDistributedFileDirectory::getFileSuperOwners(const char *logicalname, Stri
     return true;
 }
 
-class CFileRelationship: public CInterface, implements IFileRelationship
+class CFileRelationship: implements IFileRelationship, public CInterface
 {
     Linked<IPropertyTree> pt;
     const char *queryProp(const char *name)
@@ -11532,7 +11532,7 @@ public:
     virtual IPropertyTree *queryTree() { return pt.get(); }
 };
 
-class CFileRelationshipIterator: public CInterface, implements IFileRelationshipIterator
+class CFileRelationshipIterator: implements IFileRelationshipIterator, public CInterface
 {
     unsigned num;
     unsigned idx;
@@ -12105,11 +12105,11 @@ extern da_decl const char* getDFUQResultFieldName(DFUQResultField feild)
 
 IPropertyTreeIterator *deserializeFileAttrIterator(MemoryBuffer& mb, unsigned numFiles, DFUQResultField* localFilters, const char* localFilterBuf)
 {
-    class CFileAttrIterator: public CInterface, implements IPropertyTreeIterator
+    class CFileAttrIterator: implements IPropertyTreeIterator, public CInterface
     {
+        size32_t fileDataStart;
         Owned<IPropertyTree> cur;
         StringArray fileNodeGroups;
-        size32_t fileDataStart;
 
         void setFileNodeGroup(IPropertyTree *attr, const char* group, StringArray& nodeGroupFilter)
         {
@@ -12319,7 +12319,7 @@ IDFAttributesIterator* CDistributedFileDirectory::getLogicalFilesSorted(
     unsigned *total,
     bool *allMatchingFiles)
 {
-    class CDFUPager : public CSimpleInterface, implements IElementsPager
+    class CDFUPager : implements IElementsPager, public CSimpleInterface
     {
         IUserDescriptor* udesc;
         //StringAttr clusterFilter;

+ 1 - 3
dali/base/dafdesc.cpp

@@ -364,7 +364,7 @@ static void removeDir(const char *name,const char *dir,StringBuffer &out)
 
 #define RO_SINGLE_PART (0x40000000) // used for singletons
 
-struct CClusterInfo: public CInterface, implements IClusterInfo
+struct CClusterInfo: implements IClusterInfo, public CInterface
 {
     Linked<IGroup> group;
     StringAttr name; // group name
@@ -1962,8 +1962,6 @@ class CSuperFileDescriptor:  public CFileDescriptor
     bool interleaved; 
 public:
 
-    IMPLEMENT_IINTERFACE;
-
     CSuperFileDescriptor(MemoryBuffer &mb, IArrayOf<IPartDescriptor> *partsret) 
         : CFileDescriptor(mb,partsret,&subfilecounts,&interleaved)
     {

+ 2 - 2
dali/base/dalock.cpp

@@ -545,7 +545,7 @@ DistributedLockId lookupDistributedLockId(const char *name)
 }
 
 
-class CDistributedLock: public CInterface, implements IDistributedLock
+class CDistributedLock: implements IDistributedLock, public CInterface
 {
     DistributedLockId id;
     SessionId session;
@@ -586,7 +586,7 @@ IDistributedLock *createDistributedLock(DistributedLockId id, SessionId session)
 }
 
 
-class CDaliLockServer: public CInterface, public IDaliServer
+class CDaliLockServer: public IDaliServer, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE;

+ 2 - 5
dali/base/danqs.cpp

@@ -46,7 +46,7 @@ enum MQueueRequestKind {
 
 class CQueueChannel;
 
-class CNamedQueueConnection: public CInterface, implements INamedQueueConnection
+class CNamedQueueConnection: implements INamedQueueConnection, public CInterface
 {
     SecurityToken tok;
     CheckedCriticalSection sect;
@@ -125,7 +125,6 @@ protected: friend class CNamedQueueSubscriptionProxy;
     bool oneshot;
     SessionId transaction;
 public:
-    IMPLEMENT_IINTERFACE;
     CNamedQueueHandler(const char *_name, int _priority, bool _oneshot, SessionId _transaction)
         : name(_name)
     {
@@ -221,7 +220,7 @@ public:
 };
 
 
-class CQueueChannel: public CInterface, implements IQueueChannel
+class CQueueChannel: implements IQueueChannel, public CInterface
 { // Client side
 
     StringAttr name;
@@ -437,8 +436,6 @@ class CDaliNamedQueueServer: public IDaliServer, public Thread, implements IConn
         StringAttr name;
         DALI_UID transactionId;
     public:
-        IMPLEMENT_IINTERFACE;
-
         CNamedQueueSubscriptionStub(CMessageBuffer &mb) // takes ownership
         {
             replytag = mb.getReplyTag();

+ 13 - 15
dali/base/dasds.cpp

@@ -457,8 +457,6 @@ private:
 class CSDSTransactionServer : public Thread, public CTransactionLogTracker
 {
 public:
-    IMPLEMENT_IINTERFACE;
-
     CSDSTransactionServer(CCovenSDSManager &_manager);
     
     void stop();
@@ -1847,7 +1845,7 @@ private:
 ////////////////
 
 typedef MapBetween<SubscriptionId, SubscriptionId, ConnectionId, ConnectionId> SubConnMap;
-class CConnectionSubscriptionManager : CInterface, implements ISubscriptionManager
+class CConnectionSubscriptionManager : implements ISubscriptionManager, CInterface
 {
 public:
     IMPLEMENT_IINTERFACE;
@@ -2688,7 +2686,7 @@ public:
     }
 };
 
-class CNodeSubscriptionManager : public CSimpleInterface, implements INodeSubscriptionManager
+class CNodeSubscriptionManager : implements INodeSubscriptionManager, public CSimpleInterface
 {
 public:
     class CNodeSubscriberContainerList : public CSimpleInterfaceOf<IInterface>
@@ -3207,7 +3205,7 @@ public:
 typedef Int64Array IdPath;
 #define LOCKSESSCHECK (1000*60*5)
 
-class CLock : public CInterface, implements IInterface
+class CLock : implements IInterface, public CInterface
 {
     DECL_NAMEDCOUNT;
 
@@ -4840,7 +4838,7 @@ IPropertyTree *loadStore(const char *storeFilename, IPTreeMaker *iMaker, unsigne
 
 
 // Not really coalescing, blocking transations and saving store (which will delete pending transactions).
-class CLightCoalesceThread : public CInterface, implements ICoalesce
+class CLightCoalesceThread : implements ICoalesce, public CInterface
 {
     bool stopped, within24;
     Semaphore sem;
@@ -5049,7 +5047,7 @@ public:
     }
 };
 
-class CStoreHelper : public CInterface, implements IStoreHelper
+class CStoreHelper : implements IStoreHelper, public CInterface
 {
     StringAttr storeName, location, remoteBackupLocation;
     CStoreInfo storeInfo, deltaInfo;
@@ -5951,7 +5949,7 @@ void CCovenSDSManager::loadStore(const char *storeName, const bool *abort)
 {
     if (root) root->Release();
 
-    class CNodeCreate : public CInterface, implements IPTreeNodeCreator
+    class CNodeCreate : implements IPTreeNodeCreator, public CInterface
     {
     public:
         IMPLEMENT_IINTERFACE;
@@ -6548,7 +6546,7 @@ inline void serverToClientTree(CServerRemoteTree &src, CClientRemoteTree &dst)
     if (src.hasChildren()) dst.addServerTreeInfo(STI_HaveChildren);
 }
 
-class CMultipleConnector : public CInterface, implements IMultipleConnector
+class CMultipleConnector : implements IMultipleConnector, public CInterface
 {
     StringArray xpaths;
     UnsignedArray modes;
@@ -8127,9 +8125,9 @@ void CCovenSDSManager::handleNodeNotify(notifications n, CServerRemoteTree &tree
 void CCovenSDSManager::handleNotify(CSubscriberContainerBase *_subscriber, MemoryBuffer &notifyData)
 {
     Owned<CSubscriberContainerBase> subscriber = _subscriber;
-    class CNotifyPoolFactory : public CInterface, public IThreadFactory
+    class CNotifyPoolFactory : public IThreadFactory, public CInterface
     {
-        class CNotifyHandler : public CInterface, implements IPooledThread
+        class CNotifyHandler : implements IPooledThread, public CInterface
         {
             DECL_NAMEDCOUNT;
         public:
@@ -8445,9 +8443,9 @@ public:
 
 void CCovenSDSManager::startNotification(IPropertyTree &changeTree, CPTStack &stack, CBranchChange &changes)
 {
-    class CScanNotifyPoolFactory : public CInterface, public IThreadFactory
+    class CScanNotifyPoolFactory : public IThreadFactory, public CInterface
     {
-        class CScanNotifyHandler : public CInterface, implements IPooledThread
+        class CScanNotifyHandler : implements IPooledThread, public CInterface
         {
         public:
             IMPLEMENT_IINTERFACE;
@@ -8661,7 +8659,7 @@ void CCovenSDSManager::notifyNode(CServerRemoteTree &node, PDState state)
 
 ///////////////////////
 
-class CDaliSDSServer: public CInterface, public IDaliServer
+class CDaliSDSServer: implements IDaliServer, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE;
@@ -8798,7 +8796,7 @@ IDaliServer *createDaliSDSServer(IPropertyTree *config)
 
 bool applyXmlDeltas(IPropertyTree &root, IIOStream &stream, bool stopOnError)
 {
-    class CDeltaProcessor : CInterface, implements IPTreeNotifyEvent
+    class CDeltaProcessor : implements IPTreeNotifyEvent, public CInterface
     {
         unsigned level;
         IPTreeMaker *maker;

+ 3 - 3
dali/base/dasds.ipp

@@ -352,7 +352,7 @@ protected:
     ChangeInfoMap changeMap;
 };
 
-class CSDSException : public CInterface, implements ISDSException
+class CSDSException : implements ISDSException, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE;
@@ -521,7 +521,7 @@ protected:
 
 typedef ThreadSafeOwningSimpleHashTableOf<CConnectionBase, ConnectionId> CConnectionHashTable;
 
-class CSDSManagerBase : public CInterface, implements ISDSConnectionManager
+class CSDSManagerBase : implements ISDSConnectionManager, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE;
@@ -550,7 +550,7 @@ public:
     IArrayOf<IPropertyTree> array;
 };
 
-class CRemoteConnections : public CInterface, implements IRemoteConnections
+class CRemoteConnections : implements IRemoteConnections, public CInterface
 {
     IArrayOf<IRemoteConnection> connections;
 public:

+ 6 - 10
dali/base/dasess.cpp

@@ -101,7 +101,7 @@ static CriticalSection sessionCrit;
 #define CLDAPE_getpermtimeout (-1)
 #define CLDAPE_ldapfailure    (-2)
 
-class CDaliLDAP_Exception: public CInterface, implements IException
+class CDaliLDAP_Exception: implements IException, public CInterface
 {
     int errcode;
 public:
@@ -672,7 +672,7 @@ public:
 };
 
 
-class CSessionManagerBase: public CInterface, implements ISessionManager
+class CSessionManagerBase: implements ISessionManager, public CInterface
 {
 protected:
     CheckedCriticalSection sessmanagersect;
@@ -689,7 +689,7 @@ public:
     {
     }
 
-    class CSessionSubscriptionProxy: public CInterface, implements ISubscription
+    class CSessionSubscriptionProxy: implements ISubscription, public CInterface
     {   
         ISessionNotify *sub;
         SubscriptionId id;
@@ -790,7 +790,7 @@ public:
     }
 
 
-    class cNotify: public CInterface, implements ISessionNotify
+    class cNotify: implements ISessionNotify, public CInterface
     {
     public:
         IMPLEMENT_IINTERFACE;
@@ -1134,7 +1134,6 @@ class CLdapWorkItem : public Thread
     Semaphore &threaddone;
     int ret;
 public:
-    IMPLEMENT_IINTERFACE;
     CLdapWorkItem(IDaliLdapConnection *_ldapconn,Semaphore &_threaddone)
         : ldapconn(_ldapconn), threaddone(_threaddone)
     {
@@ -1594,8 +1593,6 @@ protected:
         SubscriptionId id;
         SessionId sessid;
     public:
-        IMPLEMENT_IINTERFACE;
-
         CSessionSubscriptionStub(ISubscription *_subs,SubscriptionId _id) // takes ownership
         {
             subs = _subs;
@@ -1816,7 +1813,7 @@ ISessionManager &querySessionManager()
 }
 
 
-class CDaliSessionServer: public CInterface, public IDaliServer
+class CDaliSessionServer: public IDaliServer, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE;
@@ -1903,7 +1900,6 @@ bool registerClientProcess(ICommunicator *comm, IGroup *& retcoven,unsigned time
         else {
             struct cThread: public Thread
             {
-                IMPLEMENT_IINTERFACE;
                 Semaphore sem;
                 Linked<ICommunicator> comm;
                 bool ok;
@@ -2006,7 +2002,7 @@ class CProcessSessionWatchdog
 
 
 
-class CUserDescriptor: public CInterface, implements IUserDescriptor
+class CUserDescriptor: implements IUserDescriptor, public CInterface
 {
     StringAttr username;
     StringAttr passwordenc;

+ 3 - 3
dali/base/dasubs.cpp

@@ -47,10 +47,10 @@ enum MSubscriptionRequestKind {
 };
 
 
-class CSubscriptionStub: public CInterface, implements ISubscription
+class CSubscriptionStub: implements ISubscription, public CInterface
 { // Server (Coven)  side
-    MemoryAttr data;
     unsigned tag;
+    MemoryAttr data;
     SubscriptionId sid;
     INode *dst;
     bool hasaborted;
@@ -434,7 +434,7 @@ void CSubscriptionStub::unlink()
 
 
 
-class CDaliSubscriptionManagerStub: public CInterface, implements ISubscriptionManager
+class CDaliSubscriptionManagerStub: implements ISubscriptionManager, public CInterface
 {
     // Client side
     unsigned tag;

+ 11 - 13
dali/base/dautils.cpp

@@ -1328,7 +1328,7 @@ IPropertyTree *deserializePartAttr(MemoryBuffer &mb)
 
 IPropertyTreeIterator *deserializePartAttrIterator(MemoryBuffer &mb)    // takes ownership of mb
 {
-    class cPartAttrIterator: public CInterface, implements IPropertyTreeIterator
+    class cPartAttrIterator: implements IPropertyTreeIterator, public CInterface
     {
         Owned<IPropertyTree> cur;
         unsigned pn;
@@ -1813,14 +1813,13 @@ IRemoteConnection *getSortedElements( const char *basexpath,
 
 #define PAGE_CACHE_TIMEOUT (1000*60*10)
 
-class CTimedCacheItem: extends CInterface
+class CTimedCacheItem: public CInterface
 {
 protected: friend class CTimedCache;
-    StringAttr owner;
     unsigned due;
+    StringAttr owner;
 public:
     DALI_UID hint;
-    IMPLEMENT_IINTERFACE;
     CTimedCacheItem(const char *_owner)
         : owner(_owner)
     {
@@ -1949,7 +1948,6 @@ static CTimedCache *pagedElementsCache=NULL;
 class CPECacheElem: public CTimedCacheItem
 {
 public:
-    IMPLEMENT_IINTERFACE;
     CPECacheElem(const char *owner, ISortedElementsTreeFilter *_postFilter)
         : CTimedCacheItem(owner), postFilter(_postFilter), postFiltered(0)
     {
@@ -2225,13 +2223,13 @@ IClusterFileScanIterator *getClusterFileScanIterator(
                       bool loadbranch,
                       IUserDescriptor *user)
 {
-    class cFileScanIterator: public CInterface, implements IClusterFileScanIterator
+    class cFileScanIterator: implements IClusterFileScanIterator, public CInterface
     {
         Owned<IPropertyTree> cur;
         unsigned fn;
         Linked<IRemoteConnection> conn;
-        bool loadbranch;
         Linked<IGroup> lgrp;
+        bool loadbranch;
         bool exactmatch;
         bool anymatch;
     public:
@@ -2423,7 +2421,7 @@ void getLogicalFileSuperSubList(MemoryBuffer &mb, IUserDescriptor *user)
 
 
 
-class cDaliMutexSub: public CInterface, implements ISDSSubscription
+class cDaliMutexSub: implements ISDSSubscription, public CInterface
 {
     Semaphore &sem;
 public:
@@ -2440,7 +2438,7 @@ public:
 };
 
 
-class CDaliMutex: public CInterface, implements IDaliMutex
+class CDaliMutex: implements IDaliMutex, public CInterface
 {
     StringAttr name;
     CriticalSection crit;
@@ -2569,7 +2567,7 @@ IDaliMutex  *createDaliMutex(const char *name)
 
 */
 
-class CDFSredirection: public CInterface, implements IDFSredirection
+class CDFSredirection: implements IDFSredirection, public CInterface
 {
     MemoryAttr buf;
     unsigned version;
@@ -2623,7 +2621,7 @@ public:
         lastloaded = 0;
     }
 
-    class cDFSredirect: public CInterface, implements IDfsLogicalFileNameIterator
+    class cDFSredirect: implements IDfsLogicalFileNameIterator, public CInterface
     {
         unsigned idx;
         unsigned got;
@@ -2875,12 +2873,12 @@ void safeChangeModeWrite(IRemoteConnection *conn,const char *name,bool &reload,
 }
 
 
-class CLocalOrDistributedFile: public CInterface, implements ILocalOrDistributedFile
+class CLocalOrDistributedFile: implements ILocalOrDistributedFile, public CInterface
 {
+    bool fileExists;
     Owned<IDistributedFile> dfile;
     CDfsLogicalFileName lfn;    // set if localpath but prob not useful
     StringAttr localpath;
-    bool fileExists;
 public:
     IMPLEMENT_IINTERFACE;
     CLocalOrDistributedFile()

+ 2 - 6
dali/daliadmin/daliadmin.cpp

@@ -766,9 +766,8 @@ static void dfsunlink(const char *lname, IUserDescriptor *user)
 class CIpItem: public CInterface
 {
 public:
-    IMPLEMENT_IINTERFACE;
-    IpAddress ip;
     bool ok;
+    IpAddress ip;
 };
 
 
@@ -839,7 +838,6 @@ public:
     unsigned crc;
     unsigned partno;
     unsigned copy;
-    IMPLEMENT_IINTERFACE;
     bool ok;
     byte flags;
     CDateTime dt;
@@ -2120,7 +2118,7 @@ class CXMLSizesParser : public CInterface
     PTreeReaderOptions xmlOptions;
     double pc;
 
-    class CParse : public CInterface, implements IPTreeNotifyEvent
+    class CParse : implements IPTreeNotifyEvent, public CInterface
     {
         CIArrayOf<CTreeItem> stack;
         String * levtail;
@@ -2231,8 +2229,6 @@ class CXMLSizesParser : public CInterface
     } *parser;
 
 public:
-    IMPLEMENT_IINTERFACE;
-
     CXMLSizesParser(const char *fName, PTreeReaderOptions _xmlOptions=ptr_none, double _pc=1.0) : xmlOptions(_xmlOptions), pc(_pc) { go(fName); }
     ~CXMLSizesParser() { ::Release(parser); }
 

+ 2 - 2
dali/dfu/dfuutil.cpp

@@ -912,10 +912,10 @@ public:
 };
 
 
-class CDFUhelper: public CInterface, implements IDFUhelper
+class CDFUhelper: implements IDFUhelper, public CInterface
 {
 public:
-    IMPLEMENT_IINTERFACE;
+    IMPLEMENT_IINTERFACE
 
     void addSuper(const char *superfname, IUserDescriptor *user, unsigned numtoadd, const char **subfiles, const char *before, bool autocreatesuper)
     {

+ 6 - 6
dali/dfu/dfuwu.cpp

@@ -2079,7 +2079,7 @@ public:
     }
 };
 
-class CExceptionIterator: public CInterface, implements IExceptionIterator
+class CExceptionIterator: implements IExceptionIterator, public CInterface
 {
     Linked<IPropertyTree> tree;
     unsigned i;
@@ -2758,7 +2758,7 @@ public:
 
 
 
-class CConstDFUWorkUnitIterator: public CInterface, implements IConstDFUWorkUnitIterator
+class CConstDFUWorkUnitIterator: implements IConstDFUWorkUnitIterator, public CInterface
 {
     Linked<IRemoteConnection> conn;
     Linked<IPropertyTreeIterator> iter;
@@ -2802,10 +2802,10 @@ public:
 };
 
 
-class CConstDFUWUArrayIterator : public CInterface, implements IConstDFUWorkUnitIterator
+class CConstDFUWUArrayIterator : implements IConstDFUWorkUnitIterator, public CInterface
 {
-    IArrayOf<IConstDFUWorkUnit> wua;
     unsigned idx;
+    IArrayOf<IConstDFUWorkUnit> wua;
 public:
     IMPLEMENT_IINTERFACE;
     CConstDFUWUArrayIterator(IDFUWorkUnitFactory *_parent,IRemoteConnection *_conn, IArrayOf<IPropertyTree> &trees) 
@@ -2847,7 +2847,7 @@ public:
     }
 };
 
-class CDFUWorkUnitFactory : public CInterface, implements IDFUWorkUnitFactory, implements ISDSSubscription
+class CDFUWorkUnitFactory : implements IDFUWorkUnitFactory, implements ISDSSubscription, public CInterface
 {
     CriticalSection proxylock;
     PointerArray subscribers;
@@ -3024,7 +3024,7 @@ public:
                                                     __int64 *cachehint,
                                                     unsigned *total)
     {
-        class CDFUWorkUnitsPager : public CSimpleInterface, implements IElementsPager
+        class CDFUWorkUnitsPager : implements IElementsPager, public CSimpleInterface
         {
             StringAttr xPath;
             StringAttr sortOrder;

+ 2 - 2
dali/dfuXRefLib/XRefFilesNode.hpp

@@ -42,12 +42,12 @@ interface IXRefFilesNode : extends IInterface
     virtual void Commit() = 0;
 };
 
-class CXRefFilesNode : public CSimpleInterface , implements IXRefFilesNode
+class CXRefFilesNode : implements IXRefFilesNode, public CSimpleInterface
 {
 protected:
+    bool m_bChanged;
     IPropertyTree& m_baseTree;
     Owned<IPropertyTree> m_DataTree;
-    bool m_bChanged;
     StringBuffer _data;
     StringBuffer prefixName;
     StringAttr rootdir;

+ 2 - 2
dali/dfuXRefLib/XRefNodeManager.hpp

@@ -82,7 +82,7 @@ interface IXRefNodeManager :  extends IInterface
 
 extern DFUXREFNODEMANAGERLIB_API IXRefNodeManager * CreateXRefNodeFactory();
 
-class CXRefNode : public CInterface, implements IXRefNode ,implements IXRefProgressCallback
+class CXRefNode : implements IXRefNode ,implements IXRefProgressCallback, public CInterface
 {
 private:
     Owned<IRemoteConnection> m_conn;
@@ -148,7 +148,7 @@ public:
 
 };
 
-class CXRefNodeManager : public CInterface, implements IXRefNodeManager
+class CXRefNodeManager : implements IXRefNodeManager, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE;

+ 1 - 2
dali/dfuXRefLib/dfuxreflib.cpp

@@ -285,9 +285,8 @@ struct CLogicalNameEntry;
 class CEndpointItem: public CInterface
 {
 public:
-    IMPLEMENT_IINTERFACE;
-    SocketEndpoint ep;
     rank_t rank;
+    SocketEndpoint ep;
 };
 
 struct CDfuDirEntry: public CInterface

+ 1 - 1
dali/ft/daft.ipp

@@ -21,7 +21,7 @@
 #include "daft.hpp"
 
 
-class CDistributedFileSystem : public CInterface, implements IDistributedFileSystem
+class CDistributedFileSystem : implements IDistributedFileSystem, public CInterface
 {
 public:
     CDistributedFileSystem();

+ 4 - 4
dali/ft/daftformat.ipp

@@ -27,7 +27,7 @@
 
 //---------------------------------------------------------------------------
 
-class DALIFT_API CPartitioner : public CInterface, implements IFormatProcessor
+class DALIFT_API CPartitioner : implements IFormatProcessor, public CInterface
 {
 public:
     CPartitioner();
@@ -357,7 +357,7 @@ protected:
     Linked<IFileIOStream> stream;
 };
 
-class DALIFT_API JsonSplitter : public CInterface, implements IPTreeNotifyEvent
+class DALIFT_API JsonSplitter : implements IPTreeNotifyEvent, public CInterface
 {
     friend class CJsonInputPartitioner;
 public:
@@ -697,7 +697,7 @@ protected:
 
 // Following are used for processing output.  They can also do transformations (e.g., see below)
 
-class DALIFT_API COutputProcessor : public CInterface, implements IOutputProcessor
+class DALIFT_API COutputProcessor : implements IOutputProcessor, public CInterface
 {
 public:
     COutputProcessor();
@@ -797,7 +797,7 @@ protected:
 //---------------------------------------------------------------------------
 //Special output formats used for transforming to standard output format....
 
-class DALIFT_API COutputProcessorHook : public CInterface, implements IOutputProcessor
+class DALIFT_API COutputProcessorHook : implements IOutputProcessor, public CInterface
 {
 public:
     COutputProcessorHook(IOutputProcessor * _target) : target(_target) {}

+ 1 - 1
dali/ft/filecopy.ipp

@@ -173,7 +173,7 @@ protected:
 
 typedef Linked<IDistributedFile> DistributedFileAttr;
 
-class FileSprayer : public CInterface, public IFileSprayer
+class FileSprayer : public IFileSprayer, public CInterface
 {
     friend class FileTransferThread;
     friend class AsyncAfterTransfer;

+ 1 - 1
dali/ft/ftbase.ipp

@@ -117,7 +117,7 @@ public:
 typedef CIArrayOf<OutputProgress> OutputProgressArray;
 
 
-class DALIFT_API CrcIOStream : public CInterface, implements IFileIOStream
+class DALIFT_API CrcIOStream : implements IFileIOStream, public CInterface
 {
 public:
     CrcIOStream(IFileIOStream * _stream, unsigned startCRC = 0);

+ 1 - 2
dali/ft/fttransform.ipp

@@ -27,7 +27,7 @@
 
 //---------------------------------------------------------------------------
 
-class CTransformerBase : public CInterface, implements ITransformer
+class CTransformerBase : implements ITransformer, public CInterface
 {
 public:
     CTransformerBase();
@@ -56,7 +56,6 @@ class CTransformer : public CTransformerBase
 public:
     CTransformer(size32_t _bufferSize);
     ~CTransformer();
-    IMPLEMENT_IINTERFACE
 
     virtual bool setPartition(RemoteFilename & remoteInputName, offset_t _startOffset, offset_t _length, bool compressedInput, const char *decryptKey);
     virtual size32_t getBlock(IFileIOStream * out);

+ 0 - 1
dali/fuse/dafuse.cpp

@@ -357,7 +357,6 @@ public:
     StringArray files;
     bool donefiles;
 
-    IMPLEMENT_IINTERFACE;
     CDirCacheItem()
     {
         donefiles = false;

+ 1 - 3
dali/sasha/packetstore.cpp

@@ -61,7 +61,6 @@ class CDataPacket: extends CInterface
 protected: friend class CDataPacketTransaction;
     int lock;               // -1, exclusive, 0 unlocked, +ve non-exclusive
 public:
-    IMPLEMENT_IINTERFACE;
 
     CDataPacket(const char * _key)
         : key(_key)
@@ -105,7 +104,6 @@ protected: friend class CDataPacketTransaction;
     Semaphore lockingsem;
     unsigned lockingwaiting;
 public:
-    IMPLEMENT_IINTERFACE;
 
     CDataPacketStore()
         : SuperHashTableOf<CDataPacket, const char>() 
@@ -659,7 +657,7 @@ void runPacketStoreServer(IGroup *grp)
 // ==============================================================================================================
 // Client Side
 
-class CPacketStoreClient: public CInterface, implements IPacketStore
+class CPacketStoreClient: implements IPacketStore, public CInterface
 {
     Owned<ICommunicator> comm;
     SocketEndpoint myep;

+ 1 - 1
dali/security/dacaplib.cpp

@@ -135,7 +135,7 @@ enum XMLentrykind { EK_setlimit=1,EK_addnode,EK_removenode};
 
 #define CRCMASK (0x5128F1EE)
 
-class CDaliCapabilityCreator: public CInterface, implements IDaliCapabilityCreator
+class CDaliCapabilityCreator: implements IDaliCapabilityCreator, public CInterface
 {
     StringAttr sysid;
     StringAttr clientpassword;

+ 1 - 1
dali/server/daldap.cpp

@@ -43,7 +43,7 @@ static void ignoreSigPipe()
 #endif
 }
 
-class CDaliLdapConnection: public CInterface, implements IDaliLdapConnection
+class CDaliLdapConnection: implements IDaliLdapConnection, public CInterface
 {
     Owned<ISecManager>      ldapsecurity;
     StringAttr              filesdefaultuser;

+ 8 - 9
ecl/eclagent/eclagent.ipp

@@ -46,7 +46,7 @@ typedef unsigned __int64 activityid_t;
 
 //The following don't link their arguments because that creates a circular reference
 //But I wish there was a better way
-class IndirectAgentContext : public CInterface, implements IAgentContext
+class IndirectAgentContext : implements IAgentContext, public CInterface
 {
 public:
     IndirectAgentContext(IAgentContext * _ctx = NULL) : ctx(_ctx) {}
@@ -314,7 +314,6 @@ class CHThorDebugContext : extends CBaseServerDebugContext
     EclAgent *eclAgent;
     
 public:
-    IMPLEMENT_IINTERFACE;
     CHThorDebugContext(const IContextLogger &_logctx, IPropertyTree *_queryXGMML, EclAgent *_eclAgent); 
     inline unsigned queryPort();
     inline EclAgent * getEclAgent() { return eclAgent; };
@@ -330,7 +329,7 @@ public:
 
 
 class CHThorDebugContext;
-class EclAgent : public CInterface, implements IAgentContext, implements ICodeContext, implements IRowAllocatorMetaActIdCacheCallback
+class EclAgent : implements IAgentContext, implements ICodeContext, implements IRowAllocatorMetaActIdCacheCallback, public CInterface
 {
 private:
     friend class EclAgentWorkflowMachine;
@@ -646,7 +645,7 @@ public:
 class EclSubGraph;
 interface IHThorActivity;
 
-class EclCounterMeta : public CInterface, implements IOutputMetaData
+class EclCounterMeta : implements IOutputMetaData, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE
@@ -668,7 +667,7 @@ public:
     virtual IOutputMetaData * queryChildMeta(unsigned i) { return NULL; }
 };
 
-class EclBoundLoopGraph : public CInterface, implements IHThorBoundLoopGraph
+class EclBoundLoopGraph : implements IHThorBoundLoopGraph, public CInterface
 {
 public:
     EclBoundLoopGraph(IAgentContext & _agent, IEclLoopGraph * _graph, IOutputMetaData * _resultMeta, unsigned _activityId);
@@ -753,9 +752,9 @@ protected:
 };
 
 //NB: I don't think the members of GraphResult need to be protected with a critical section because
-// only one thing can modify a given result, and nothing can read while writing is occuring.
+// only one thing can modify a given result, and nothing can read while writing is occurring.
 // getOwnRow() is an exception, but only called on one thread at a time.
-class UninitializedGraphResult : public CInterface, implements IHThorGraphResult
+class UninitializedGraphResult : implements IHThorGraphResult, public CInterface
 {
 public:
     UninitializedGraphResult(unsigned _id) { id = _id; }
@@ -771,7 +770,7 @@ protected:
     unsigned id;
 };
 
-class GraphResult : public CInterface, implements IHThorGraphResult
+class GraphResult : implements IHThorGraphResult, public CInterface
 {
 public:
     GraphResult(IEngineRowAllocator * _ownedRowsetAllocator) : rowsetAllocator(_ownedRowsetAllocator) { meta = _ownedRowsetAllocator->queryOutputMeta(); }
@@ -790,7 +789,7 @@ protected:
     OwnedHThorRowArray rows;
 };
 
-class GraphResults : public CInterface, implements IHThorGraphResults
+class GraphResults : implements IHThorGraphResults, public CInterface
 {
 public:
     GraphResults(unsigned _maxResults = 0);

+ 1 - 1
ecl/eclccserver/eclccserver.cpp

@@ -172,7 +172,7 @@ private:
 // A threadpool is used to allow multiple compiles to be submitted at once. Threads are reused when compilation completes.
 //------------------------------------------------------------------------------------------------------------------
 
-class EclccCompileThread : public CInterface, implements IPooledThread, implements IErrorReporter
+class EclccCompileThread : implements IPooledThread, implements IErrorReporter, public CInterface
 {
     StringAttr wuid;
     Owned<IWorkUnit> workunit;

+ 1 - 1
ecl/eclcmd/eclcmd_common.hpp

@@ -220,7 +220,7 @@ enum eclCmdOptionMatchIndicator
     EclCmdOptionCompletion=2
 };
 
-class EclCmdCommon : public CInterface, implements IEclCommand
+class EclCmdCommon : implements IEclCommand, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE;

+ 0 - 4
ecl/eclplus/DeleteHelper.ipp

@@ -25,8 +25,6 @@
 class DeleteHelper : implements IEclPlusHelper
 {
 public:
-    IMPLEMENT_IINTERFACE;
-
     DeleteHelper(IProperties * globals, IFormatType * format);
     virtual ~DeleteHelper();
 
@@ -41,8 +39,6 @@ protected:
 class AbortHelper : implements IEclPlusHelper
 {
 public:
-    IMPLEMENT_IINTERFACE;
-
     AbortHelper(IProperties * globals, IFormatType * format);
     virtual bool doit(FILE * fp);
 

+ 0 - 4
ecl/eclplus/DumpHelper.ipp

@@ -24,8 +24,6 @@
 class DumpHelper : implements IEclPlusHelper
 {
 public:
-    IMPLEMENT_IINTERFACE;
-
     DumpHelper(IProperties * globals, IFormatType * format);
     virtual ~DumpHelper();
 
@@ -40,8 +38,6 @@ private:
 class GraphHelper : implements IEclPlusHelper
 {
 public:
-    IMPLEMENT_IINTERFACE;
-
     GraphHelper(IProperties * globals, IFormatType * format);
     virtual ~GraphHelper();
 

+ 0 - 2
ecl/eclplus/ListHelper.ipp

@@ -24,8 +24,6 @@
 class ListHelper : implements IEclPlusHelper
 {
 public:
-    IMPLEMENT_IINTERFACE;
-
     ListHelper(IProperties * globals, IFormatType * format);
     virtual ~ListHelper();
 

+ 0 - 2
ecl/eclplus/QueryHelper.ipp

@@ -28,8 +28,6 @@ bool ControlHandler();
 class QueryHelper : implements IEclPlusHelper
 {
 public:
-    IMPLEMENT_IINTERFACE;
-
     QueryHelper(IProperties * globals, IFormatType * format);
     virtual ~QueryHelper();
 

+ 0 - 2
ecl/eclplus/ViewHelper.ipp

@@ -23,8 +23,6 @@
 class ViewHelper : implements IEclPlusHelper
 {
 public:
-    IMPLEMENT_IINTERFACE;
-
     ViewHelper(IProperties * globals, IFormatType * format);
     virtual ~ViewHelper();
 

+ 0 - 2
ecl/eclplus/eclplus.ipp

@@ -22,8 +22,6 @@
 interface IEclPlusHelper  : public CInterface
 {
 public:
-    IMPLEMENT_IINTERFACE;
-
     virtual bool doit(FILE * fp) = 0;
 };
 

+ 1 - 1
ecl/eclplus/formattypes.ipp

@@ -21,7 +21,7 @@
 #include "eclplus.hpp"
 #include "xslprocessor.hpp"
 
-interface CFormatType  : public CInterface, implements IFormatType
+interface CFormatType  : implements IFormatType, public CInterface
 {
 protected: 
     int startRowNumber;

+ 1 - 1
ecl/eclscheduler/eclscheduler.cpp

@@ -67,7 +67,7 @@ void initSignals()
 
 //=========================================================================================
 
-class Waiter : public CInterface, implements IAbortHandler
+class Waiter : implements IAbortHandler, public CInterface
 {
     Semaphore aborted;
 public:

+ 3 - 3
ecl/hql/hqlcollect.cpp

@@ -44,7 +44,7 @@ public:
 static CPluginCtx PluginCtx;
 
 
-class CEclSourceCollection : public CInterface, implements IEclSourceCollection
+class CEclSourceCollection : implements IEclSourceCollection, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE
@@ -1175,7 +1175,7 @@ IPropertyTree * cloneModuleNoAttributes(IPropertyTree * target, IPropertyTree *
 }
 
 //This is not implemented for efficiency, it is purely for testing this interface
-class ArchiveXmlEclRepository : public CInterface, implements IXmlEclRepository
+class ArchiveXmlEclRepository : implements IXmlEclRepository, public CInterface
 {
 public:
     ArchiveXmlEclRepository(IPropertyTree * _archive) : archive(_archive)
@@ -1245,7 +1245,7 @@ extern HQL_API IXmlEclRepository * createArchiveXmlEclRepository(IPropertyTree *
 //---------------------------------------------------------------------------------------------------------------------
 
 
-class ReplayXmlEclRepository : public CInterface, implements IXmlEclRepository
+class ReplayXmlEclRepository : implements IXmlEclRepository, public CInterface
 {
 public:
     ReplayXmlEclRepository(IPropertyTree * _xmlTree) : xmlTree(_xmlTree)

+ 1 - 1
ecl/hql/hqlgram.hpp

@@ -389,7 +389,7 @@ public:
 };
 
 extern int eclyyparse(HqlGram * parser);
-class HqlGram : public CInterface, implements IErrorReceiver
+class HqlGram : implements IErrorReceiver, public CInterface
 {
     friend class HqlLex;
     friend int eclyyparse(HqlGram * parser);

+ 0 - 1
ecl/hql/hqlgram2.cpp

@@ -2863,7 +2863,6 @@ class PseudoPatternScope : public CHqlScope
 {
 public:
     PseudoPatternScope(IHqlExpression * _patternList);
-    IMPLEMENT_IINTERFACE_USING(CHqlScope)
 
     virtual void defineSymbol(IIdAtom * name, IIdAtom * moduleName, IHqlExpression *value, bool isExported, bool isShared, unsigned flags, IFileContents *fc, int bodystart, int lineno, int column) { ::Release(value); PSEUDO_UNIMPLEMENTED; }
     virtual void defineSymbol(IIdAtom * name, IIdAtom * moduleName, IHqlExpression *value, bool isExported, bool isShared, unsigned flags) { ::Release(value); PSEUDO_UNIMPLEMENTED; }

+ 3 - 3
ecl/hql/hqlrepository.cpp

@@ -135,7 +135,7 @@ IHqlScope * getResolveDottedScope(const char * modname, unsigned lookupFlags, Hq
 
 //-------------------------------------------------------------------------------------------------------------------
 
-class HQL_API CompoundEclRepository : public CInterface, implements IEclRepository
+class HQL_API CompoundEclRepository : implements IEclRepository, public CInterface
 {
 public:
     CompoundEclRepository() { rootScope.setown(new CHqlMergedScope(NULL, NULL)); }
@@ -188,7 +188,7 @@ extern HQL_API IEclRepository * createCompoundRepository(EclRepositoryArray & re
 
 //-------------------------------------------------------------------------------------------------------------------
 
-class HQL_API NestedEclRepository : public CInterface, implements IEclRepository
+class HQL_API NestedEclRepository : implements IEclRepository, public CInterface
 {
 public:
     NestedEclRepository(IIdAtom * name, IEclRepository * _repository) : repository(_repository)
@@ -229,7 +229,7 @@ static IIdAtom * queryModuleIdFromFullName(const char * name)
     return createIdAtom(name);
 }
 
-class HQL_API CNewEclRepository : public CInterface, implements IEclRepositoryCallback
+class HQL_API CNewEclRepository : implements IEclRepositoryCallback, public CInterface
 {
 public:
     CNewEclRepository(IEclSourceCollection * _collection, const char * rootScopeFullName) : collection(_collection)

+ 1 - 1
ecl/hql/hqlwuerr.cpp

@@ -97,7 +97,7 @@ size32_t WorkUnitErrorReceiver::warnCount()
 }
 
 
-class CompoundErrorReceiver : public CInterface, implements IErrorReceiver
+class CompoundErrorReceiver : implements IErrorReceiver, public CInterface
 {
 public:
     CompoundErrorReceiver(IErrorReceiver * _primary, IErrorReceiver * _secondary) { primary.set(_primary); secondary.set(_secondary); }

+ 1 - 1
ecl/hql/hqlwuerr.hpp

@@ -20,7 +20,7 @@
 #include "hqlexpr.hpp"
 #include "workunit.hpp"
 
-class HQL_API WorkUnitErrorReceiver : public CInterface, implements IErrorReceiver
+class HQL_API WorkUnitErrorReceiver : implements IErrorReceiver, public CInterface
 {
 public:
     WorkUnitErrorReceiver(IWorkUnit * _wu, const char * _component) { wu.set(_wu); component.set(_component); }

+ 5 - 5
ecl/hqlcpp/hqlcpp.ipp

@@ -133,7 +133,7 @@ public:
     unsigned maxActivityId;
 };
 
-class HQLCPP_API HqlCppInstance : public CInterface, public IHqlCppInstance
+class HQLCPP_API HqlCppInstance : public IHqlCppInstance, public CInterface
 {
 public:
     HqlCppInstance(IWorkUnit * _workunit, const char * _wupathname);
@@ -438,7 +438,7 @@ public:
 
 //===========================================================================
 
-class GlobalFileTracker : public CInterface, public IHqlDelayedCodeGenerator
+class GlobalFileTracker : public IHqlDelayedCodeGenerator, public CInterface
 {
 public:
     GlobalFileTracker(IHqlExpression * _filename, IPropertyTree * _graphNode)
@@ -456,9 +456,9 @@ public:
     void writeToGraph();
 
 public:
+    unsigned usageCount;
     OwnedHqlExpr filename;
     Owned<IPropertyTree> graphNode;
-    unsigned usageCount;
 };
 
 //===========================================================================
@@ -821,7 +821,7 @@ enum PEtype {
     PETlibrary,     // a library
     PETmax };
 
-class HQLCPP_API HqlCppTranslator : public CInterface, implements IHqlCppTranslator
+class HQLCPP_API HqlCppTranslator : implements IHqlCppTranslator, public CInterface
 {
 //MORE: This is in serious need of refactoring....
 
@@ -2022,7 +2022,7 @@ protected:
 
 //===========================================================================
 
-class HQLCPP_API HqlQueryInstance : public CInterface, implements IHqlQueryInstance
+class HQLCPP_API HqlQueryInstance : implements IHqlQueryInstance, public CInterface
 {
 public:
     HqlQueryInstance();

+ 2 - 2
ecl/hqlcpp/hqlcppc.hpp

@@ -57,7 +57,7 @@ public:
     virtual bool buildReadAhead(HqlCppTranslator & translator, BuildCtx & ctx, ReadAheadState & state) = 0;
 };
 
-class HQLCPP_API ABoundActivity : public CInterface, public IInterface
+class HQLCPP_API ABoundActivity : public IInterface, public CInterface
 {
 public:
     ABoundActivity(IHqlExpression * _dataset, IHqlExpression * _bound, unsigned _activityid, unsigned _containerid, unsigned _graphId, ThorActivityKind _kind)
@@ -80,13 +80,13 @@ public:
     void updateActivityKind(ThorActivityKind newKind) { kind = newKind; }
 
 private:
+    ThorActivityKind        kind;
     HqlExprAttr             represents;
     HqlExprAttr             bound;
     unsigned                activityId;
     unsigned                containerId;
     unsigned                graphId;
     unsigned                outputCount;
-    ThorActivityKind        kind;
 };
 
 

+ 1 - 1
ecl/hqlcpp/hqlcppds.cpp

@@ -3309,7 +3309,7 @@ void HqlCppTranslator::buildDatasetAssignDatasetFromTransform(BuildCtx & ctx, IH
     target->finishRow(subctx, targetRow);
 }
 
-class InlineDatasetSkipCallback : public CInterface, implements IHqlCodeCallback
+class InlineDatasetSkipCallback : implements IHqlCodeCallback, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE

+ 4 - 7
ecl/hqlcpp/hqlcset.ipp

@@ -17,7 +17,7 @@
 #ifndef __HQLCSET_IPP_
 #define __HQLCSET_IPP_
 
-class BaseDatasetCursor : public CInterface, implements IHqlCppDatasetCursor
+class BaseDatasetCursor : implements IHqlCppDatasetCursor, public CInterface
 {
 public:
     BaseDatasetCursor(HqlCppTranslator & _translator, IHqlExpression * _ds, CHqlBoundExpr * _boundDs);
@@ -130,7 +130,7 @@ protected:
 
 //---------------------------------------------------------------------------
 
-class BaseSetCursor : public CInterface, implements IHqlCppSetCursor
+class BaseSetCursor : implements IHqlCppSetCursor, public CInterface
 {
 public:
     BaseSetCursor(HqlCppTranslator & _translator, IHqlExpression * _expr);
@@ -228,7 +228,7 @@ protected:
 
 //---------------------------------------------------------------------------
 
-class CHqlCppDatasetBuilder : public CInterface, implements IHqlCppDatasetBuilder
+class CHqlCppDatasetBuilder : implements IHqlCppDatasetBuilder, public CInterface
 {
 public:
     CHqlCppDatasetBuilder(HqlCppTranslator & _translator, IHqlExpression * _record);
@@ -247,7 +247,6 @@ class DatasetBuilderBase : public CHqlCppDatasetBuilder
 {
 public:
     DatasetBuilderBase(HqlCppTranslator & _translator, IHqlExpression * _record, bool _buildLinkedRows);
-    IMPLEMENT_IINTERFACE
 
     virtual BoundRow * buildCreateRow(BuildCtx & ctx);
     virtual BoundRow * buildDeserializeRow(BuildCtx & ctx, IHqlExpression * serializedInput, IAtom * serializeForm);
@@ -283,7 +282,6 @@ class SingleRowTempDatasetBuilder : public CHqlCppDatasetBuilder
 {
 public:
     SingleRowTempDatasetBuilder(HqlCppTranslator & _translator, IHqlExpression * _record, BoundRow * _row);
-    IMPLEMENT_IINTERFACE
 
     virtual void buildDeclare(BuildCtx & ctx);
     virtual BoundRow * buildCreateRow(BuildCtx & ctx);
@@ -332,7 +330,7 @@ public:
 
 //---------------------------------------------------------------------------
 
-class SetBuilder : public CInterface, implements IHqlCppSetBuilder
+class SetBuilder : implements IHqlCppSetBuilder, public CInterface
 {
 public:
     SetBuilder(HqlCppTranslator & _translator, ITypeInfo * fieldType, IHqlExpression * _allVar);
@@ -372,7 +370,6 @@ class InlineDatasetBuilder : public CHqlCppDatasetBuilder
 {
 public:
     InlineDatasetBuilder(HqlCppTranslator & _translator, IHqlExpression * _record, IHqlExpression * _size, IHqlExpression * _address);
-    IMPLEMENT_IINTERFACE
 
     virtual void buildDeclare(BuildCtx & ctx);
     virtual BoundRow * buildCreateRow(BuildCtx & ctx);

+ 2 - 2
ecl/hqlcpp/hqlecl.cpp

@@ -48,7 +48,7 @@
 
 #define PROTO_TEMPLATE "prototpl.cpp"
 
-class NullContextCallback : public CInterface, implements ICodegenContextCallback
+class NullContextCallback : implements ICodegenContextCallback, public CInterface
 {
     IMPLEMENT_IINTERFACE
 
@@ -56,7 +56,7 @@ class NullContextCallback : public CInterface, implements ICodegenContextCallbac
     virtual bool allowAccess(const char * category, bool isSigned) { return true; }
 };
 
-class HqlDllGenerator : public CInterface, implements IHqlExprDllGenerator, implements IAbortRequestCallback
+class HqlDllGenerator : implements IHqlExprDllGenerator, implements IAbortRequestCallback, public CInterface
 {
 public:
     HqlDllGenerator(IErrorReceiver * _errs, const char * _wuname, const char * _targetdir, IWorkUnit * _wu, const char * _template_dir, ClusterType _targetClusterType, ICodegenContextCallback * _ctxCallback, bool _checkForLocalFileUploads, bool _okToAbort) :

+ 4 - 4
ecl/hqlcpp/hqlfunc.ipp

@@ -17,7 +17,7 @@
 #ifndef BUILDFUNC_IPP
 #define BUILDFUNC_IPP
 
-class FunctionParamInfo : public CInterface, implements IFunctionParamInfo
+class FunctionParamInfo : implements IFunctionParamInfo, public CInterface
 {
 public:
   FunctionParamInfo(ITypeInfo * type, IAtom * name, unsigned _dir, bool _isArray);
@@ -38,7 +38,7 @@ protected:
   bool                  isArray;
 };
 
-class FunctionInfo : public CInterface, implements IFunctionInfo
+class FunctionInfo : implements IFunctionInfo, public CInterface
 {
 public:
   FunctionInfo(IAtom * _name, IModuleInfo * _module);
@@ -67,7 +67,7 @@ protected:
 };
 
 
-class ModuleInfo : public CInterface, implements IModuleInfo
+class ModuleInfo : implements IModuleInfo, public CInterface
 {
 public:
   ModuleInfo(const char * _filename, bool _isSystem);
@@ -82,7 +82,7 @@ protected:
 };
 
 
-class FunctionDatabase : public CInterface, implements IFunctionDatabase
+class FunctionDatabase : implements IFunctionDatabase, public CInterface
 {
 public:
   FunctionDatabase();

+ 1 - 1
ecl/hqlcpp/hqlgraph.ipp

@@ -25,7 +25,7 @@
 
 //---------------------------------------------------------------------------
 
-class LogicalGraphInfo : public CInterface, public IInterface
+class LogicalGraphInfo : public IInterface, public CInterface
 {
 public:
     LogicalGraphInfo(IHqlExpression * _expr) : expr(_expr) { globalId = 0; id = 0; subGraphId = 0; outputCount = 0; noDependents = false; }

+ 0 - 1
ecl/hqlcpp/hqltcppc.hpp

@@ -28,7 +28,6 @@ public:
     BoundRow(IHqlExpression * _dataset, IHqlExpression * _bound, ColumnToOffsetMap * _columnMap);                       // row
     BoundRow(IHqlExpression * _dataset, IHqlExpression * _bound, ColumnToOffsetMap * _columnMap, node_operator side, IHqlExpression * selSeq);  // cursor
     ~BoundRow();
-    IMPLEMENT_IINTERFACE
 
     virtual AssocKind getKind()             { return (AssocKind)kind; }
     virtual bool isRowAssociation()         { return true; }

+ 2 - 2
ecl/hqlcpp/hqltcppc.ipp

@@ -586,7 +586,7 @@ public:
 };
 
 
-class DelayedSizeGenerator : public CInterface, public IHqlDelayedCodeGenerator
+class DelayedSizeGenerator : public IHqlDelayedCodeGenerator, public CInterface
 {
 public:
     DelayedSizeGenerator(ColumnToOffsetMap * _map)
@@ -603,7 +603,7 @@ public:
 };
 
 
-class DelayedUnsignedGenerator : public CInterface, public IHqlDelayedCodeGenerator
+class DelayedUnsignedGenerator : public IHqlDelayedCodeGenerator, public CInterface
 {
 public:
     DelayedUnsignedGenerator(unsigned & _value)

+ 1 - 1
ecl/hqlcpp/hqlwcpp.ipp

@@ -127,7 +127,7 @@ protected:
     CompilerType compiler;
 };
 
-class HQLCPP_API HqlCppSectionWriter : public CInterface, implements ISectionWriter
+class HQLCPP_API HqlCppSectionWriter : implements ISectionWriter, public CInterface
 {
 public:
     HqlCppSectionWriter(IHqlCppInstance & _instance, CompilerType _compiler) : instance(_instance), writer(_compiler)

+ 2 - 2
ecl/hthor/hthor.cpp

@@ -3929,7 +3929,7 @@ bool CHThorGroupSortActivity::sortAndSpillRows()
         StringBuffer fbase;
         agent.getTempfileBase(fbase).appendf(".spill_sort_%p", this);
         PROGLOG("SORT: spilling to disk, filename base %s", fbase.str());
-        class CHThorRowLinkCounter : public CSimpleInterface, implements IRowLinkCounter
+        class CHThorRowLinkCounter : implements IRowLinkCounter, public CSimpleInterface
         {
         public:
             IMPLEMENT_IINTERFACE_USING(CSimpleInterface);
@@ -9514,7 +9514,7 @@ void CHThorGraphLoopResultWriteActivity::execute()
 
 //=====================================================================================================
 
-class CCounterMeta : public CInterface, implements IOutputMetaData
+class CCounterMeta : implements IOutputMetaData, public CInterface
 {
 public:
     IMPLEMENT_IINTERFACE

+ 2 - 2
ecl/hthor/hthor.ipp

@@ -49,7 +49,7 @@ using roxiemem::DynamicRoxieOutputRowArray;
 
 //---------------------------------------------------------------------------
 
-class CHThorException : public CInterface, implements IHThorException
+class CHThorException : implements IHThorException, public CInterface
 {
 public: 
     IMPLEMENT_IINTERFACE;
@@ -1088,7 +1088,7 @@ protected:
     Owned<IRowStream> diskReader;
 };
 
-class CSimpleSorterBase : public CInterface, public ISorter
+class CSimpleSorterBase : public ISorter, public CInterface
 {
 public:
     CSimpleSorterBase(ICompare * _compare, roxiemem::IRowManager * _rowManager, size32_t _initialSize, size32_t _commitDelta) : compare(_compare), finger(0), rowManager(_rowManager),

+ 1 - 1
ecl/hthor/hthorkey.cpp

@@ -2748,7 +2748,7 @@ interface IJoinProcessor
     virtual void verifyIndex(IDistributedFile * f, IKeyIndex * idx, IRecordLayoutTranslator * trans) = 0;
 };
 
-class CJoinGroup : public CInterface, implements IInterface
+class CJoinGroup : implements IInterface, public CInterface
 {
 public:
     class MatchIterator

+ 1 - 1
ecl/hthor/hthorstep.ipp

@@ -21,7 +21,7 @@
 
 //---------------------------------------------------------------------------
 
-class CHThorSteppedInput : public CInterface, implements ISteppedInput
+class CHThorSteppedInput : implements ISteppedInput, public CInterface
 {
 public:
     CHThorSteppedInput(IHThorInput * _input);

+ 1 - 2
esp/bindings/SOAP/Platform/soapbind.hpp

@@ -40,8 +40,7 @@
 #include "http/platform/httpbinding.hpp"
 
 
-class esp_http_decl CSoapComplexType : public CInterface,
-    implements IRpcSerializable
+class esp_http_decl CSoapComplexType : implements IRpcSerializable, public CInterface
 {
 protected:
     unsigned clvalue_;

+ 1 - 2
esp/bindings/SOAP/Platform/soapmacro.hpp

@@ -20,8 +20,7 @@
 #include "soapenc.hpp"
 
 #define BEGIN_SOAP_REQ(MyService) \
-class CSoap##MyService##Request : public CInterface, \
-    implements IEsp##MyService##Request\
+class CSoap##MyService##Request : implements IEsp##MyService##Request, public CInterface \
 {\
 public:\
         IMPLEMENT_IINTERFACE;

+ 9 - 19
esp/bindings/SOAP/Platform/soapmessage.hpp

@@ -51,7 +51,7 @@
 #define SOAP_BODY_NAME     "Body"
 
 class CSoapValue;
-typedef IArrayOf<CSoapValue> SoapValueArray;
+typedef CIArrayOf<CSoapValue> SoapValueArray;
 
 using namespace std;
 using namespace xpp;
@@ -68,7 +68,7 @@ const char* const SOAPEnvelopeStart  = "<?xml version=\"1.0\" encoding=\"utf-8\"
 
 const char* const SOAPEnvelopeEnd  =    "</soap:Envelope>";
 
-class CSoapMessage : public CInterface, implements ISoapMessage
+class CSoapMessage : implements ISoapMessage, public CInterface
 {
 private:
     StringAttr   m_content_type;
@@ -149,8 +149,6 @@ protected:
     }
 
 public:
-    IMPLEMENT_IINTERFACE;
-
     CSoapFault(int code, const char* message)
     { 
         AppendDetails(code,message);
@@ -199,9 +197,11 @@ public:
 };
 
 
-class esp_http_decl CSoapValue : public CInterface, implements IInterface //ISoapValue
+class esp_http_decl CSoapValue : public CInterface  //ISoapValue
 {
 private:
+    bool            m_is_array_element;
+    bool            m_encode_xml;
     StringAttr  m_ns;
     StringAttr  m_name;
     StringAttr  m_type;
@@ -209,15 +209,10 @@ private:
     SoapValueArray  m_children;
     Owned<IProperties> m_attributes;
 
-    bool            m_is_array_element;
-    bool            m_encode_xml;
-
     void serialize_attributes(StringBuffer& outbuf);
     void init(const char* ns, const char* name, const char* type, const char* value);
 
 public:
-    IMPLEMENT_IINTERFACE;
-    
     CSoapValue(CSoapValue* soapvalue);
     CSoapValue(const char* ns, const char* name, const char* type, const char* value, bool encode=true);
     CSoapValue(const char* ns, const char* name, const char* type, int value);
@@ -316,7 +311,7 @@ public:
     virtual void simple_serializeChildren(StringBuffer& outbuf);
 };
 
-class esp_http_decl CRpcMessage : public CInterface, implements IRpcMessage
+class esp_http_decl CRpcMessage : implements IRpcMessage, public CInterface
 {
 private:
     StringAttr      m_ns;
@@ -562,14 +557,12 @@ public:
     bool handleExceptions(IXslProcessor *xslp, IMultiException *me, const char *serv, const char *meth, const char *errorXslt);
 };
 
-class CHeader : public CInterface, implements IInterface
+class CHeader : public CInterface
 {
 private:
     IArrayOf<IRpcMessage> m_headerblocks;
 
 public:
-    IMPLEMENT_IINTERFACE;
-
     CHeader(){};
     virtual ~CHeader(){};
     virtual void addHeaderBlock(IRpcMessage* block);
@@ -581,15 +574,13 @@ public:
     virtual const char * getMessageType() {return "EnvelopeHeader";};
 };
 
-class CBody : public CInterface, implements IInterface
+class CBody : public CInterface
 {
 private:
     XmlPullParser* m_xpp;
     IArrayOf<IRpcMessage> m_rpcmessages;
 
 public:
-    IMPLEMENT_IINTERFACE;
-
     CBody() : m_xpp(NULL) { }
     virtual ~CBody() { }
 
@@ -622,13 +613,12 @@ public:
     };
 };
 
-class CEnvelope : public CInterface, implements IInterface
+class CEnvelope : public CInterface
 {
 private:
     Owned<CHeader> m_header;
     Owned<CBody> m_body;
 public:
-    IMPLEMENT_IINTERFACE;
 
     CEnvelope(){m_header.setown(new CHeader); m_body.setown(new CBody);};
     CEnvelope(CHeader* header, CBody* body) {m_header.setown(header); m_body.setown(body);};

+ 0 - 0
esp/bindings/SOAP/Platform/soapservice.hpp


Some files were not shown because too many files changed in this diff