Namespaces
Variants
Actions
Revision as of 05:00, 9 December 2011 by hamishwillee (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Импорт ориентиров

Jump to: navigation, search
Метаданные

Статья
Перевод:
Последнее редактирование: hamishwillee (09 Dec 2011)

Класс CPosLandmarkParser предназначен для разбора содержимого ориентиров. Эта функциональность может использоваться при выполнении импорта ориентиров из файлов. Для создания инстанции данного класса необходимо указать тип MIME разбираемого содержимого. Ориентиры могут храниться в виде XML-файлов для разбора которых можно использовать следующий MIME-тип: "application/vnd.nokia.landmarkcollection+xml".

Приведенный фрагмент кода демонстрирует, как импортировать ориентиры из XML-файла в заданную локальную базу данных.

Необходимо включить следующие заголовочные файлы:

  • epos_cposlmdatabasemanager.h
  • epos_hposlmdatabaseinfo.h
  • epos_cposlandmarkparser.h

Для связывания использовать следующие библиотеки:

  • eposlandmarks.lib
  • eposlmdbmanlib.lib
// URI базы данных
_LIT( KNewDbUri, "file://C:new.ldb" );
TBuf<32> newDbUri( KNewDbUri );
 
// файл с ориентирами
_LIT( KSrcFile, "C:\\LmBackup\\my_lms.xml" );
 
// менеджер для управления базами данных
CPosLmDatabaseManager* dbManager = CPosLmDatabaseManager :: NewL();
CleanupStack :: PushL( dbManager );
 
// создание базы данных если ее еще нет
if( !dbManager->DatabaseExistsL( newDbUri ) )
{
HPosLmDatabaseInfo* dbInfo = HPosLmDatabaseInfo :: NewLC( newDbUri );
dbManager->CreateDatabaseL( *dbInfo );
CleanupStack :: PopAndDestroy( dbInfo );
}
 
// открытие базы данных с последующей инициализацией, если необходимо
CPosLandmarkDatabase* db = CPosLandmarkDatabase :: OpenL( newDbUri );
CleanupStack :: PushL( db );
if( db->IsInitializingNeeded() )
ExecuteAndDeleteLD( db->InitializeL() );
 
// очистка базы в пакетном режиме
ExecuteAndDeleteLD( db->RemoveAllLandmarksL() );
 
// тип MIME для импорта и экспорта
_LIT8( KPosMimeTypeLandmarkCollectionXml, "application/vnd.nokia.landmarkcollection+xml" );
 
// создание парсера
CPosLandmarkParser* parser = CPosLandmarkParser :: NewL( KPosMimeTypeLandmarkCollectionXml );
CleanupStack :: PushL( parser );
 
// импортирование данных в пакетном режиме
parser->SetInputFileL( KSrcFile );
ExecuteAndDeleteLD( db->ImportLandmarksL( *parser, CPosLandmarkDatabase::EDefaultOptions ) );
 
CleanupStack :: PopAndDestroy( 3 ); // parser db dbManager

Внутренние ссылки

112 page views in the last 30 days.
Nokia Developer aims to help you create apps and publish them so you can connect with users around the world.

京ICP备05048969号  © Copyright Nokia 2013 All rights reserved