--- a/textinput/ptihangulcore/src/OssCombination.cpp Mon Mar 15 12:42:02 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,146 +0,0 @@
-/*
-* Copyright (c) 2005,2006 Choe Hwanjin
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#include "OssCombination.h"
-#include "hangul.h"
-
-TInt CombinationOrderFunction(
- const TOssCombinationItem& aFirst,
- const TOssCombinationItem& aSecond)
- {
- TUint keyFirst=aFirst.iFirst<<16|aFirst.iSecond;
- TUint keySecond=aSecond.iFirst<<16|aSecond.iSecond;
- return keyFirst-keySecond;
- }
-
-TBool TOssCombinationItem::operator == (const TOssCombinationItem& aCombination) const
- {
- return iFirst==aCombination.iFirst && iSecond==aCombination.iSecond;
- }
-
-EXPORT_C COssCombination* COssCombination::NewLC()
- {
- COssCombination* self = new (ELeave) COssCombination();
- CleanupStack::PushL(self);
- self->ConstructL();
- return self;
- }
-
-EXPORT_C COssCombination* COssCombination::NewL()
- {
- COssCombination* self = COssCombination::NewLC();
- CleanupStack::Pop(); // self;
- return self;
- }
-
-COssCombination::COssCombination()
- : iHangulCombination(NULL)
- {
- }
-
-void COssCombination::ConstructL()
- {
- }
-
-EXPORT_C COssCombination::~COssCombination()
- {
- iCombinationList.Reset();
- iCombinationList.Close();
- if (iHangulCombination)
- hangul_combination_delete(iHangulCombination);
- }
-
-EXPORT_C TInt COssCombination::AddCombinationL(
- const TOssCombinationItem& aCombination)
- {
- TInt ret(KErrAlreadyExists);
-
- TInt index=FindCombination(aCombination);
- TLinearOrder<TOssCombinationItem> orderCombination(CombinationOrderFunction);
-
- if (index==KErrNotFound)
- {
- //iCombinationList.Append(aCombination);
- iCombinationList.InsertInOrderL(aCombination,orderCombination);
- ret=KErrNone;
- }
-
- return ret;
- }
-
-EXPORT_C TInt COssCombination::RemoveCombination(
- const TOssCombinationItem& aCombination)
- {
- TInt ret(KErrNotFound);
-
- TInt index=FindCombination(aCombination);
- if (index!=KErrNotFound)
- {
- iCombinationList.Remove(index);
- ret=KErrNone;
- }
- return ret;
- }
-
-EXPORT_C TInt COssCombination::FindCombination(
- const TOssCombinationItem& aCombination)
- {
- TInt ret(KErrNotFound);
- for (TInt i=0;i<iCombinationList.Count();i++)
- {
- if (iCombinationList[i]==aCombination)
- {
- ret=i;
- break;
- }
- }
- return ret;
- }
-
-TBool COssCombination::PopulateListL()
- {
- if (iHangulCombination)
- {
- hangul_combination_delete(iHangulCombination);
- iHangulCombination=NULL;
- }
- iHangulCombination=hangul_combination_new();
- TUint cnt=iCombinationList.Count();
- TText* listFirst=new (ELeave) TText[cnt];
- TText* listSecond=new (ELeave) TText[cnt];
- TText* listResult=new (ELeave) TText[cnt];
-
- for (TInt i=0;i<cnt;i++)
- {
- listFirst[i]=iCombinationList[i].iFirst;
- listSecond[i]=iCombinationList[i].iSecond;
- listResult[i]=iCombinationList[i].iResult;
- }
-
- TBool ret=hangul_combination_set_data(
- iHangulCombination,
- listFirst,
- listSecond,
- listResult,
- cnt);
-
- delete[] listFirst;
- delete[] listSecond;
- delete[] listResult;
- return ret;
- }