int main( int argc, char* argv[] ) { try { Map configMap; createProgrammaticConfig( configMap ); OmmProvider provider( OmmNiProviderConfig().config( configMap ).username( "user" ) ); UInt64 ibmHandle = 5; UInt64 triHandle = 6; RefreshMsg refresh; UpdateMsg update; FieldList fieldList; provider.submit( refresh.serviceName( "NI_PUB" ).name( "IBM.N" ) .state( OmmState::OpenEnum, OmmState::OkEnum, OmmState::NoneEnum, "UnSolicited Refresh Completed" ) .payload( fieldList .addReal( 22, 14400, OmmReal::ExponentNeg2Enum ) .addReal( 25, 14700, OmmReal::ExponentNeg2Enum ) .addReal( 30, 9, OmmReal::Exponent0Enum ) .addReal( 31, 19, OmmReal::Exponent0Enum ) .complete() ) .complete(), ibmHandle ); provider.submit( refresh.clear().serviceName( "NI_PUB" ).name( "TRI.N" ) .state( OmmState::OpenEnum, OmmState::OkEnum, OmmState::NoneEnum, "UnSolicited Refresh Completed" ) .payload( fieldList.clear() .addReal( 22, 4100, OmmReal::ExponentNeg2Enum ) .addReal( 25, 4200, OmmReal::ExponentNeg2Enum ) .addReal( 30, 20, OmmReal::Exponent0Enum ) .addReal( 31, 40, OmmReal::Exponent0Enum ) .complete() ) .complete(), triHandle ); sleep( 1000 ); for ( Int32 i = 0; i < 60; i++ ) { provider.submit( update.clear().serviceName( "NI_PUB" ).name( "IBM.N" ) .payload( fieldList.clear() .addReal( 22, 14400 + i, OmmReal::ExponentNeg2Enum ) .addReal( 30, 10 + i, OmmReal::Exponent0Enum ) .complete() ), ibmHandle ); provider.submit( update.clear().serviceName( "NI_PUB" ).name( "TRI.N" ) .payload( fieldList.clear() .addReal( 22, 4100 + i, OmmReal::ExponentNeg2Enum ) .addReal( 30, 21 + i, OmmReal::Exponent0Enum ) .complete() ), triHandle ); sleep( 1000 ); } } catch ( const OmmException& excp ) { cout << excp << endl; } return 0; }
bool SortUtils::SortFromDataset(const SortDescription &sortDescription, const MediaType &mediaType, const std::unique_ptr<dbiplus::Dataset> &dataset, DatabaseResults &results) { FieldList fields; if (!DatabaseUtils::GetSelectFields(SortUtils::GetFieldsForSorting(sortDescription.sortBy), mediaType, fields)) fields.clear(); if (!DatabaseUtils::GetDatabaseResults(mediaType, fields, dataset, results)) return false; SortDescription sorting = sortDescription; if (sortDescription.sortBy == SortByNone) { sorting.limitStart = 0; sorting.limitEnd = -1; } Sort(sorting, results); return true; }
bool DatabaseUtils::GetSelectFields(const Fields &fields, const MediaType &mediaType, FieldList &selectFields) { if (mediaType == MediaTypeNone || fields.empty()) return false; Fields sortFields = fields; // add necessary fields to create the label if (mediaType == MediaTypeSong || mediaType == MediaTypeVideo || mediaType == MediaTypeVideoCollection || mediaType == MediaTypeMusicVideo || mediaType == MediaTypeMovie || mediaType == MediaTypeTvShow || mediaType == MediaTypeEpisode) sortFields.insert(FieldTitle); if (mediaType == MediaTypeEpisode) { sortFields.insert(FieldSeason); sortFields.insert(FieldEpisodeNumber); } else if (mediaType == MediaTypeAlbum) sortFields.insert(FieldAlbum); else if (mediaType == MediaTypeSong) sortFields.insert(FieldTrackNumber); else if (mediaType == MediaTypeArtist) sortFields.insert(FieldArtist); selectFields.clear(); for (Fields::const_iterator it = sortFields.begin(); it != sortFields.end(); ++it) { // ignore FieldLabel because it needs special handling (see further up) if (*it == FieldLabel) continue; if (GetField(*it, mediaType, DatabaseQueryPartSelect).empty()) { CLog::Log(LOGDEBUG, "DatabaseUtils::GetSortFieldList: unknown field %d", *it); continue; } selectFields.push_back(*it); } return !selectFields.empty(); }
int main( int argc, char* argv[] ) { try { int iargs = 1; while ( iargs < argc ) { if ( ( strcmp("-dumpDictionary", argv[iargs] ) == 0) ) { dumpDictionary = true; } //APIQA else if ((strcmp("-filter", argv[iargs]) == 0)) { if (++iargs == argc) break; EmaString value(argv[iargs]); if (value.caseInsensitiveCompare("INFO")) { filter = DICTIONARY_INFO; } else if (value.caseInsensitiveCompare("MINIMAL")) { filter = DICTIONARY_MINIMAL; } else if (value.caseInsensitiveCompare("NORMAL")) { filter = DICTIONARY_NORMAL; } else if (value.caseInsensitiveCompare("VERBOSE")) { filter = DICTIONARY_VERBOSE; } } //END APIQA ++iargs; } OmmProvider provider( OmmNiProviderConfig().username( "user" ) ); UInt64 triHandle = 5; UpdateMsg update; FieldList fieldList; AppClient client; // Open Dictionary streams UInt64 fldHandle = provider.registerClient(ReqMsg().name("RWFFld").filter(filter).serviceName("NI_PUB").domainType(MMT_DICTIONARY), client); UInt64 enumHandle = provider.registerClient(ReqMsg().name("RWFEnum").filter(filter).serviceName("NI_PUB").domainType(MMT_DICTIONARY), client); provider.submit( RefreshMsg().serviceName( "NI_PUB" ).name( "TRI.N" ) .state( OmmState::OpenEnum, OmmState::OkEnum, OmmState::NoneEnum, "UnSolicited Refresh Completed" ) .payload( fieldList.clear() .addReal( 22, 4100, OmmReal::ExponentNeg2Enum ) .addReal( 25, 4200, OmmReal::ExponentNeg2Enum ) .addReal( 30, 20, OmmReal::Exponent0Enum ) .addReal( 31, 40, OmmReal::Exponent0Enum ) .complete() ) .complete(), triHandle ); sleep( 1000 ); for ( Int32 i = 0; i < 10; i++ ) { provider.submit( update.clear().serviceName( "NI_PUB" ).name( "TRI.N" ) .payload( fieldList.clear() .addReal( 22, 4100 + i, OmmReal::ExponentNeg2Enum ) .addReal( 30, 21 + i, OmmReal::Exponent0Enum ) .complete() ), triHandle ); sleep( 1000 ); //APIQA if ( i == 6 ) { cout <<"Reissue Dictionary handles with filter unchange " << endl; provider.reissue( ReqMsg().name("RWFFld").filter(filter).serviceName("NI_PUB").domainType(MMT_DICTIONARY).interestAfterRefresh(true), fldHandle); provider.reissue( ReqMsg().name("RWFEnum").filter(filter).serviceName("NI_PUB").domainType(MMT_DICTIONARY).interestAfterRefresh(true), enumHandle); } if ( i == 8 ) { cout <<"Reissue Dictionary handles with filter unchange " << endl; filter = DICTIONARY_NORMAL; provider.reissue( ReqMsg().name("RWFFld").filter(filter).serviceName("NI_PUB").domainType(MMT_DICTIONARY).interestAfterRefresh(true), fldHandle); provider.reissue( ReqMsg().name("RWFEnum").filter(filter).serviceName("NI_PUB").domainType(MMT_DICTIONARY).interestAfterRefresh(true), enumHandle); } if ( i == 9 ) { cout <<"Update Source Directory with delete service from DIRECTORY " << endl; provider.submit(UpdateMsg().domainType(MMT_DIRECTORY) .payload(Map() .addKeyUInt(1, MapEntry::DeleteEnum, FilterList() .complete()).complete()), 0); } } sleep( 1000 ); //END APIQA } catch ( const OmmException& excp ) { cout << excp << endl; } return 0; }
int main() { try { OmmProvider provider( OmmNiProviderConfig().adminControlDirectory( OmmNiProviderConfig::UserControlEnum ).username( "user" ) ); UInt64 serviceId = 0; UInt64 sourceDirectoryHandle = 1; UInt64 ibmHandle = 5; RefreshMsg refresh; UpdateMsg update; FieldList fieldList; provider.submit( refresh.domainType( MMT_DIRECTORY ).filter( SERVICE_INFO_FILTER | SERVICE_STATE_FILTER ) .payload( Map() .addKeyUInt( serviceId, MapEntry::AddEnum, FilterList() .add( SERVICE_INFO_ID, FilterEntry::SetEnum, ElementList() .addAscii( ENAME_NAME, "TEST_NI_PUB" ) .addArray( ENAME_CAPABILITIES, OmmArray() .addUInt( MMT_MARKET_PRICE ) .addUInt( MMT_MARKET_BY_PRICE ) .complete( ) ) .addArray( ENAME_DICTIONARYS_USED, OmmArray() .addAscii( "RWFFld" ) .addAscii( "RWFEnum" ) .complete( ) ) .complete() ) .add( SERVICE_STATE_ID, FilterEntry::SetEnum, ElementList() .addUInt( ENAME_SVC_STATE, SERVICE_UP ) .complete() ) .complete() ) .complete() ).complete(), sourceDirectoryHandle ); provider.submit( refresh.clear().serviceName( "TEST_NI_PUB" ).name( "IBM.N" ) .state( OmmState::OpenEnum, OmmState::OkEnum, OmmState::NoneEnum, "UnSolicited Refresh Completed" ) .payload( fieldList .addReal( 22, 14400, OmmReal::ExponentNeg2Enum ) .addReal( 25, 14700, OmmReal::ExponentNeg2Enum ) .addReal( 30, 9, OmmReal::Exponent0Enum ) .addReal( 31, 19, OmmReal::Exponent0Enum ) .complete() ) .complete(), ibmHandle ); sleep( 1000 ); for ( Int32 i = 0; i < 60; i++ ) { provider.submit( update.clear().serviceName( "TEST_NI_PUB" ).name( "IBM.N" ) .payload( fieldList.clear() .addReal( 22, 14400 + i, OmmReal::ExponentNeg2Enum ) .addReal( 30, 10 + i, OmmReal::Exponent0Enum ) .complete() ), ibmHandle ); sleep( 1000 ); } } catch ( const OmmException& excp ) { cout << excp << endl; } return 0; }
int main( int argc, char* argv[] ) { try { OmmNiProviderConfig config; int securityProtocol = 0; for (int i = 0; i < argc; i++) { if (strcmp(argv[i], "-?") == 0) { printHelp(); return false; } else if (strcmp(argv[i], "-ph") == 0) { config.tunnelingProxyHostName(i < (argc - 1) ? argv[++i] : NULL); } else if (strcmp(argv[i], "-pp") == 0) { config.tunnelingProxyPort(i < (argc - 1) ? argv[++i] : NULL); } else if (strcmp(argv[i], "-spTLSv1") == 0) { securityProtocol |= OmmNiProviderConfig::ENC_TLSV1; } else if (strcmp(argv[i], "-spTLSv1.1") == 0) { securityProtocol |= OmmNiProviderConfig::ENC_TLSV1_1; } else if (strcmp(argv[i], "-spTLSv1.2") == 0) { securityProtocol |= OmmNiProviderConfig::ENC_TLSV1_2; } else if (strcmp(argv[i], "-libsslName") == 0) { config.tunnelingLibSslName(i < (argc - 1) ? argv[++i] : NULL); } else if (strcmp(argv[i], "-libcryptoName") == 0) { config.tunnelingLibCryptoName(i < (argc - 1) ? argv[++i] : NULL); } } if (securityProtocol > 0) config.tunnelingSecurityProtocol(securityProtocol); //API QA Map configMap; createProgrammaticConfig(configMap); OmmProvider provider( config.config(configMap).username( "user" ).providerName( "Provider_4" ) ); //END API QA UInt64 ibmHandle = 5; UInt64 triHandle = 6; RefreshMsg refresh; UpdateMsg update; FieldList fieldList; provider.submit( refresh.serviceName( "TEST_NI_PUB" ).name( "IBM.N" ) .state( OmmState::OpenEnum, OmmState::OkEnum, OmmState::NoneEnum, "UnSolicited Refresh Completed" ) .payload( fieldList .addReal( 22, 14400, OmmReal::ExponentNeg2Enum ) .addReal( 25, 14700, OmmReal::ExponentNeg2Enum ) .addReal( 30, 9, OmmReal::Exponent0Enum ) .addReal( 31, 19, OmmReal::Exponent0Enum ) .complete() ) .complete(), ibmHandle ); provider.submit( refresh.clear().serviceName( "TEST_NI_PUB" ).name( "TRI.N" ) .state( OmmState::OpenEnum, OmmState::OkEnum, OmmState::NoneEnum, "UnSolicited Refresh Completed" ) .payload( fieldList.clear() .addReal( 22, 4100, OmmReal::ExponentNeg2Enum ) .addReal( 25, 4200, OmmReal::ExponentNeg2Enum ) .addReal( 30, 20, OmmReal::Exponent0Enum ) .addReal( 31, 40, OmmReal::Exponent0Enum ) .complete() ) .complete(), triHandle ); sleep( 1000 ); for ( Int32 i = 0; i < 60; i++ ) { provider.submit( update.clear().serviceName( "TEST_NI_PUB" ).name( "IBM.N" ) .payload( fieldList.clear() .addReal( 22, 14400 + i, OmmReal::ExponentNeg2Enum ) .addReal( 30, 10 + i, OmmReal::Exponent0Enum ) .complete() ), ibmHandle ); provider.submit( update.clear().serviceName( "TEST_NI_PUB" ).name( "TRI.N" ) .payload( fieldList.clear() .addReal( 22, 4100 + i, OmmReal::ExponentNeg2Enum ) .addReal( 30, 21 + i, OmmReal::Exponent0Enum ) .complete() ), triHandle ); sleep( 1000 ); } } catch ( const OmmException& excp ) { cout << excp << endl; } return 0; }