OSB_LIB Namespace Reference


Detailed Description

OSB core objects and functionality.

See here for all namespaces.

Classes

Object status

Configuration status type and conversion.

Type of charges and conversions.

Date helper functions.

Date operators that do not need access to the class

representation.

Arithmetic operations on MoneyList

Arithmetic operations on Money

Typedefs

Enumerations

Functions

Variables


Typedef Documentation

typedef unsigned char OSB_LIB::Asn1Byte

The type of ASN.1 encoded data.

Definition at line 52 of file asn1fwd.h.

typedef std::deque<Asn1Byte> OSB_LIB::Asn1Data

STL container for binary ASN.1 data.

Definition at line 54 of file asn1fwd.h.

typedef std::vector<TaxAmount> OSB_LIB::TaxAmountList

Definition at line 100 of file amount.h.

typedef long OSB_LIB::TaxId

Definition at line 106 of file appltaxes.h.

typedef std::map<TaxIdVs, Tax*> OSB_LIB::TaxList

Definition at line 107 of file appltaxes.h.

typedef long OSB_LIB::TaxListId

Definition at line 108 of file appltaxes.h.

typedef std::vector<TaxId> OSB_LIB::TaxIdList

Definition at line 109 of file appltaxes.h.

typedef std::map<TaxListId, TaxIdList> OSB_LIB::TaxIdLists

Definition at line 110 of file appltaxes.h.

typedef std::vector<TaxKey::Oid> OSB_LIB::TaxKeyIdList

Definition at line 111 of file appltaxes.h.

typedef std::map<TaxkeyTriplet, TaxIdList*> OSB_LIB::TaxkeyTriplets

Definition at line 112 of file appltaxes.h.

typedef std::vector<SubsCharge> OSB_LIB::SubsCharges

Subscription charges container type.

Definition at line 141 of file balancesheet.h.

typedef SubsCharges::iterator OSB_LIB::SubsChargesI

Subscription charges iterator type.

Definition at line 143 of file balancesheet.h.

typedef std::vector<AdvanceCharge> OSB_LIB::AdvanceCharges

Advance charges container type.

Definition at line 190 of file balancesheet.h.

typedef std::vector<OnetimeCharge> OSB_LIB::OnetimeCharges

Onetime charges container type.

Definition at line 238 of file balancesheet.h.

typedef std::map<std::string, long> OSB_LIB::DirPathNumEntryRecord

Container to keep track of the number of directory entries.

The key is the absolute directory path, while the value is the number of entries in the directory.

Definition at line 74 of file invoicedir.h.

typedef std::map<std::string, std::pair<std::string, Decimal> > OSB_LIB::ParaValue

Definition at line 53 of file tax.h.

typedef std::vector<Usagerecord> OSB_LIB::UrContainer

Usage record container.

Definition at line 200 of file usagerecord.h.

typedef std::map<std::string, Account> OSB_LIB::AccountList

Define the list of account buffer.

Definition at line 102 of file account.h.

typedef std::vector<Transaction> OSB_LIB::TransactionList

Define the list of accounting transaction.

Definition at line 139 of file account.h.

typedef std::vector<Address> OSB_LIB::AddressList

STL container for addresses.

Definition at line 242 of file address.h.

typedef IdPeriod<long> OSB_LIB::TaxIdVs

Basic tax types needed already here.

Definition at line 68 of file chargetraits.h.

typedef std::map<TaxTraits::Oid, TaxTraits> OSB_LIB::TaxTraitsList

STL container for TaxTraits.

Definition at line 205 of file chargetraits.h.

typedef TaxTraitsList::iterator OSB_LIB::TaxTraitsListI

STL iterators for TaxTraits..

Definition at line 207 of file chargetraits.h.

typedef TaxTraitsList::const_iterator OSB_LIB::TaxTraitsListCI

Definition at line 208 of file chargetraits.h.

typedef std::list<AssignableIp4> OSB_LIB::AssignableIp4s

STL-container for assignable IP4 addresses.

Definition at line 191 of file ipaddress.h.

typedef std::map<Currency::Oid, Money> OSB_LIB::MoneyList

List of money.

Definition at line 315 of file money.h.

typedef std::list<NetworkElement> OSB_LIB::NetworkElements

List of network elements.

Definition at line 72 of file network.h.

typedef std::list<TrunkGroup> OSB_LIB::TrunkGroups

List of trunk groups.

Definition at line 395 of file network.h.

typedef std::list<Network> OSB_LIB::Networks

List of networks.

Definition at line 1084 of file network.h.

typedef std::map<std::string, Account> OSB_LIB::AccountList

Definition at line 49 of file osblistmgr.h.

typedef std::list<PersProductNode> OSB_LIB::PersProductNodes

List of personalized product nodes.

Definition at line 436 of file persproduct.h.

typedef std::vector<PersPart> OSB_LIB::PersParts

STL container for the pers parts.

Definition at line 438 of file persproduct.h.

typedef std::list<PersProduct> OSB_LIB::PersProducts

STL container to hold a list of personalized products.

Definition at line 1426 of file persproduct.h.

typedef std::vector<SubsFuncCfg*> OSB_LIB::SubsFuncCfgs

List of subscription function configurations: the STL container must take pointers to support polymorphism.

Definition at line 206 of file pricelist.h.

typedef std::vector<Pricelist> OSB_LIB::Pricelists

List of prices.

Definition at line 436 of file pricelist.h.

typedef std::vector<PricelistCfg> OSB_LIB::PricelistCfgs

List of price list configurations.

Definition at line 635 of file pricelist.h.

typedef std::list<ProductNode> OSB_LIB::ProductNodeParts

STL container for the product nodes.

Definition at line 80 of file product.h.

typedef std::list<Product> OSB_LIB::Products

STL containter for a list of products.

Definition at line 452 of file product.h.

typedef std::string OSB_LIB::ResourceNumber

Representation of a resource number.

The format is specific to each concrete resource type.

Definition at line 94 of file resourcefwd.h.

typedef std::vector<std::string> OSB_LIB::Directories

Vector of the possible directories to store the setting.

Definition at line 50 of file setting.h.

typedef std::vector<TimeZone> OSB_LIB::TimeZones

Container for TimeZone objects.

Definition at line 431 of file timezone.h.

typedef std::list<BackDatedObject> OSB_LIB::BackDatedObjects

STL container for backdated tariff objects.

Definition at line 151 of file backdatedobject.h.

typedef std::vector<MoneyInfo> OSB_LIB::MoneyInfoList

List of MoneyInfo.

Definition at line 217 of file cdr.h.

typedef std::vector<ChargeDetail> OSB_LIB::ChargeDetails

Define a vector of charge detail as ChargeDetails.

Definition at line 255 of file cdr.h.

typedef std::vector<UsedService> OSB_LIB::UsedServices

A list of used service.

Definition at line 371 of file cdr.h.

typedef std::list<Udr*> OSB_LIB::UdrList

Container for a list of Udr pointers.

Definition at line 458 of file cdr.h.

typedef std::list<Cgi> OSB_LIB::Cgis

STL container for a list of Cgi.

Definition at line 410 of file cgi.h.

typedef std::vector<CountryInfo> OSB_LIB::CountryInfos

Container for the country info.

Definition at line 121 of file countryinfo.h.

typedef std::list<E164> OSB_LIB::E164s

STL container for a list of E.164 connections.

Definition at line 299 of file e164.h.

typedef std::vector<Filter> OSB_LIB::Filters

Container for the list of filters.

Definition at line 309 of file filter.h.

typedef std::vector<FilterExpr> OSB_LIB::FilterExprs

Container for the filter expressions.

Definition at line 1251 of file filter.h.

typedef std::vector<FilterVersion> OSB_LIB::FilterVersions

Container for the list of filter version objects.

Definition at line 1581 of file filter.h.

typedef std::list<RatedService> OSB_LIB::RatedServices

List of rateable services.

Definition at line 195 of file ratedservice.h.

typedef std::list<RecordSource> OSB_LIB::RecordSources

Container for record sources.

Definition at line 57 of file recordstreamdef.h.

typedef std::vector<ServiceElement> OSB_LIB::ServiceElements

Define a vector of service element as ServiceElements.

Definition at line 284 of file service.h.

typedef std::list<ServiceClass> OSB_LIB::ServiceClasses

STL container for a list of service class.

Definition at line 163 of file serviceclass.h.

typedef std::list<ScSystem> OSB_LIB::ScSystems

STL container for a list of service class.

Definition at line 379 of file serviceclass.h.

typedef std::list<ScsVersion> OSB_LIB::ScsVersions

STL container for a list of service class.

Definition at line 632 of file serviceclass.h.

typedef std::map<SumCdr01Key, SumCdr01> OSB_LIB::GroupedSumCdr01

Definition at line 330 of file sumcdr.h.

typedef std::list<Tariff> OSB_LIB::Tariffs

Define a list of tariff as Tariffs.

Definition at line 322 of file tariff.h.

typedef std::map<Tariff::Oid, std::list<TfVersion> > OSB_LIB::TfVersions

Define a list of tariff version as TfVersions.

Definition at line 633 of file tariff.h.

typedef std::list<TariffClass> OSB_LIB::TariffClasses

STL container for a list of tariff classes.

Definition at line 195 of file tariffclass.h.

typedef std::list<TcSystem> OSB_LIB::TcSystems

STL container for a list of tariff zones.

Definition at line 342 of file tariffclass.h.

typedef std::list<TcSystem::Oid> OSB_LIB::TcSystemOids

Define a list of tariff classification system oids.

Definition at line 345 of file tariffclass.h.

typedef std::list<DayClass> OSB_LIB::DayClasses

Store list of day definitions.

Definition at line 274 of file tariffperiod.h.

typedef std::list<SpecialDate> OSB_LIB::SpecialDates

Store list of special dates into one type of variables.

Definition at line 489 of file tariffperiod.h.

typedef std::list<TariffPeriod> OSB_LIB::TariffPeriods

Store list of tariff periods.

Definition at line 597 of file tariffperiod.h.

typedef std::set<TariffPeriod::Oid> OSB_LIB::TpOidSet

Store set of tariff periods.

Definition at line 600 of file tariffperiod.h.

typedef std::list<TpSystem> OSB_LIB::TpSystems

Store list of tariff period system.

Definition at line 697 of file tariffperiod.h.

typedef std::list<TpsVersion> OSB_LIB::TpsVersions

Store list of tariff period system versions.

Definition at line 960 of file tariffperiod.h.

typedef std::list<TariffSystem> OSB_LIB::TariffSystems

STL container for a list of tariff systems.

Definition at line 241 of file tariffsystem.h.

typedef std::map<ServiceClass::Oid, TcSystem::Oid> OSB_LIB::ScTcsCfg

STL container to manage service class, tariff classification system configuration.

Definition at line 247 of file tariffsystem.h.

typedef std::map<TariffClass::Oid, TpSystem::Oid> OSB_LIB::TcTpsCfg

STL container to manage tariff class, tariff period system configuration

Definition at line 253 of file tariffsystem.h.

typedef std::pair<TariffClass::Oid, TariffPeriod::Oid> OSB_LIB::TcTp

STL container for tariff class, tariff period tuple.

Definition at line 256 of file tariffsystem.h.

typedef std::map<TcTp, Tariff::Oid> OSB_LIB::TcTpTariff

STL container for tariff of a tariff class, tariff period tuple.

Definition at line 259 of file tariffsystem.h.

typedef std::list<TsVersion> OSB_LIB::TsVersions

STL container for a list of TsVersion.

Definition at line 815 of file tariffsystem.h.

typedef std::list<TariffZone> OSB_LIB::TariffZones

STL container for a list of tariff zones.

Definition at line 157 of file tcdist.h.

typedef std::list<TzConfig> OSB_LIB::TzConfigs

STL container for a list of tariff zone configurations.

Definition at line 355 of file tcdist.h.


Enumeration Type Documentation

enum OSB_LIB::Asn1TagId

ASN.1 tag used for top-level ASN.1 records.

The type of the tag for all ASN.1 records is APPLICATION,
the records use PRIVATE tags for their members.

Enumerator:
asn1Cdr  OSB Cdr.
asn1RawCdr  Raw CDR (as received from the network and elements).

Remarks:
Currently not in use.

Definition at line 53 of file asn1tagid.h.

enum OSB_LIB::TK_Types

Possible types for a tax key, pretty self-explanatory.

Enumerator:
tk_associateKey 
tk_contractKey 
tk_productKey 
tk_numberOfTypes 

Definition at line 78 of file appltaxes.h.

enum OSB_LIB::ContributesTo

Flags to specify how a new invoice items is linked to the invoice, i.e., what lists and totals it belongs to.

Note:
This is a bitmap to allow combinations of attributes!
Enumerator:
ct_nothing 
ct_invAmounts 
ct_invTotal 
ct_usgTotal 
ct_otcTotal 
ct_subsTotal 

Definition at line 90 of file invoice.h.

enum OSB_LIB::TotalContributesTo

Flags to specify the following:
+ TotalItems contains only a SubTotal
+ TotalItems contains a SubTotal and a volume total.

Enumerator:
ct_subTotalOnly 
ct_volumeTotal 

Definition at line 105 of file invoice.h.

enum OSB_LIB::SectionType

Enumerator:
notSet 
subsCharges 
oneTimeCharges 
international 
totalInternational 
national 
totalNational 
localcall 
totalLocal 
productTotal 

Definition at line 59 of file section.h.

enum OSB_LIB::AccountType

Account Type.

Enumerator:
Assets 
Liabilities 
Capital 

Definition at line 62 of file account.h.

enum OSB_LIB::AddressType

Address types supported by OSB.

The must correspond to ADDRESS_TYPE.TYPE_ID.
Add new types as needed.

Enumerator:
atUnknown  Unknown address type.
atBilling  Billing address, must always be present.
atHome  Home address.
atOffice  Office address.

Definition at line 71 of file address.h.

enum OSB_LIB::Weekday

Symbolic names for weekdays, self-explanatory.

Enumerator:
Mon 
Tue 
Wed 
Thu 
Fri 
Sat 
Sun 

Definition at line 50 of file chrono.h.

enum OSB_LIB::Month

Month definition.

Enumerator:
Jan 
Feb 
Mar 
Apr 
May 
Jun 
Jul 
Aug 
Sep 
Oct 
Nov 
Dec 

Definition at line 53 of file chrono.h.

enum OSB_LIB::ModuleId

Ids of OSB modules.

The values must match the entries in the table OSB_MODULES, additional entries may be present in the table.

Enumerator:
mdUnknown  Unknown module.
mdCollection  CDR collection, batch.
mdConversion  CDR conversion, batch.
mdAggregation  CDR aggregation, batch.
mdCorrelation  CDR correlation, batch.
mdRating  Rating, batch.
mdBilling  Billing, batch.
mdStorage  Storage of CDR, batch.
mdNamingService  Naming service, batch.
mdCaServer  Contract administration server, batch.
mdOaServer  OSB administration server, batch.
mdNaServer  Network administration server, batch.
mdPaServer  Product administration server, batch.
mdTariffAdmin  Tariff administration, GUI.
mdOsbAdmin  OSB administration, GUI.
mdContractAdmin  Contract administration, WEB.
mdNetworkAdmin  Network administration, WEB.
mdProductAdmin  Product administration, WEB.
mdUserAdmin  User administration, WEB.
mdReports  Reports, WEB.
mdArAdmin  Accounts receivable, WEB.
mdAll  All modules.

Definition at line 66 of file osbconst.h.

enum OSB_LIB::ObjectStatus

Status of objects in the database tables.

The object status reflects the state of the objects in the database tables when the version in the database is compared with the version of the objects.

Enumerator:
objUnchanged  Object version is the same as that in the database.
objModified  Object version is different from that in the database.
objDeleted  Object not found in database.
objBusy  Object is locked in the database.

Definition at line 102 of file osbconst.h.

enum OSB_LIB::CfgStatus

Configuration status for product and tariff system related objects.

Enumerator:
cfgEditable  Object can be modified.
cfgStandby  Object is checked and can not be modified.
cfgTesting  Object is released for testing.
cfgReleased  Object is released for production.
cfgUnknown  Unknown, illegal status.

Definition at line 120 of file osbconst.h.

enum OSB_LIB::ChargeType

Charge type indicates if the original amount is gross or net.

Enumerator:
ct_gross 
ct_net 
ct_unknown 

Definition at line 165 of file osbconst.h.

enum OSB_LIB::SubsFuncType

Database id's of available subscription functions types: When a new type is added, the functions PricelistGw::fetchSubsFuncCfgs() (check 2 places!) and ChargeSubscription::mkSubsFunc() must be changed also.

Enumerator:
sfSubFuncOnce 

Definition at line 114 of file pricelist.h.

enum OSB_LIB::ResourceType

Identification of the resource type.

For convenience the value of a resource type is the same as the related product item and personalized item.

Enumerator:
rtUnknown  Unknown, illegal type.
rtCallingCard  CallingCard.
rtTrunkResource  TrunkResource.
rtAccessNumber  AccessNumberResource.
rtE164  E164 number.
rtIp4Address  IP 4 address.
rtIpGroup  IP address group.
rtImsi  GSM: ISMI.
rtInTrunk  Incoming trunk group.
rtOutTrunk  Outgoing trunk group.

Definition at line 66 of file resourcefwd.h.

enum OSB_LIB::StatusValue

Status of Associate, Contract, PersProudct and PersProductNode.

The enumeration values are defined in a way that allows easy verification if the status of a child is compatible with the status of its parent, see compatibleStatus().

Don't change the numeric values unless you have a comprehensive understanding of the consequences (library, CORBA and WEB)!

Enumerator:
svNone  Undefined status: used when creating new entities or statusValue(char c) is called with an invalid code.
svDeactivated  Deactivated status (database 'd').
svCreated  Entity is created (database 'c').
svInactive  Inactive status (database 'i').
svActive  Active status (database 'a').

Definition at line 92 of file status.h.

enum OSB_LIB::TaxKeyType

Types of tax key.

Tax keys are assigned to associates, contracts and product items. For each invoice item, the combination of these three taxation keys is evaluated to determine which set of taxes is applicable. The best match is determined using different priorities for matching individual taxation keys: associate tax key >= contract tax key >= product tax key.

Enumerator:
tktUnknown  unknown tax key type
tktAssociate  Associate taxation keys (database 'a').
tktContract  Contract taxation keys (database 'c').
tktProduct  Product taxation keys (database 'p').

Definition at line 66 of file taxkey.h.

enum OSB_LIB::CdrAsn1Tag

Represents all OSB_Library::Cdr ASN.1 tags currently supported.

The type of all tag is PRIVATE.

The tag numbers are allocated as follows:

Remarks:
The reason to separate composed and primitives tag values is for better maintainability:
All composed tags start with 0xff, while all primitives start with 0xdf. => Renumbering of all tags gets more easy.
Enumerator:
tagUsageType 
tagRecordType 
tagUsageSubtype 
tagStatus 
tagTimeStamp 
tagInitTime 
tagTransactionId 
tagPartRecRef 
tagPartRecNo 
tagChargeInd 
tagRatedParty 
tagServedParty 
tagCalledParty 
tagCallingParty 
tagNetworkElementId 
tagSwitchId 
tagInTrkGroup 
tagInTrkNumber 
tagOutTrkGroup 
tagOutTrkNumber 
tagRemoteIpAddress 
tagUsedServices 
tagOrigCountList 
tagOsbErrors 
tagOsbError 
tagOsbErrorArgs 
tagChargeDetail 
tagChargeDetails 
tagDistTcsVersion 
tagMassTfVersion 
tagMoney 
tagMoneyInfo 
tagMoneyInfoList 
tagNwAddress 
tagOrigCount 
tagScsVersion 
tagServiceElement 
tagServiceTuple 
tagFlatTfVersion 
tagTariffInfo 
tagTcDistInfo 
tagTcInfo 
tagTcsVersion 
tagTpsVersion 
tagTsVersion 
tagUsedService 
tagExtChargeInfo 
tagExtChargeList 
tagExtCharge 
tagExtTaxList 
tagExtTax 
tagAccessNumber 
tagCallingCard 
tagE164Resource 
tagIp4Address 
tagIpGroup 
tagImsi 
tagTrunkResource 
tagAmount 
tagAnalyzedNumber 
tagAnalyzedTon 
tagCcNumber 
tagOsbErrorArg 
tagOsbErrorId 
tagCgi 
tagChargeTraitsId 
tagContractId 
tagCountryCode 
tagCurrencyCode 
tagDateTime 
tagDenominator 
tagElementId 
tagImei 
tagImsiNumber 
tagMappedDestination 
tagMappedOrigin 
tagModInd 
tagMsrn 
tagNetworkId 
tagNominator 
tagNumError 
tagNumErroredOut 
tagNumberingPlan 
tagOid 
tagOriginalTon 
tagOriginalNumber 
tagPersProductId 
tagProductNodeId 
tagRatedDestination 
tagRatedOrigin 
tagRatedPartyType 
tagRatedService 
tagRecordStreamId 
tagResourceNumber 
tagServiceClass 
tagServiceCode 
tagServiceType 
tagStreamId 
tagTariffClass 
tagTariffObjectId 
tagTariffObjectVs 
tagTariffPeriod 
tagTariffZone 
tagTimeOffset 
tagUnitId 
tagVolume 
tagRoundedVol 
tagExtDestination 
tagExtTariffCode 
tagExtTaxType 
tagExtTaxRate 

Definition at line 68 of file cdrtags.h.

enum OSB_LIB::FilterType

Type of filter conditions.

This is used to identify the filter condition.

Enumerator:
ftUnknown 
ftServiceClass 
ftTariffClass 

Definition at line 77 of file filter.h.

enum OSB_LIB::OperatorType

Type of operators.

This specifies the type of operator which is used to evaluate the expression.

Enumerator:
otUnknown 
otEqualTo 
otNotEqualTo 
otAnd 
otOr 
otXor 
otNot 

Definition at line 90 of file filter.h.

enum OSB_LIB::FilterAction

Filter Action.

This specifies the type of filter actions, which is used when evaluating the filter expression. If the given filter expression is matched with the given UsedService then the mapped FilterAction will be returned.

Enumerator:
faUnknown 
faDiscard 
faFilter 
faNoAction 

Definition at line 109 of file filter.h.

enum OSB_LIB::LockObjects

Lock sequence for tariff system objects.

The sequence number determines the order in which tariff object groups are to be locked if it is needed for several groups (lowest number first).

Enumerator:
lckTs  Lock Tariff system related tables.
lckSc  Lock service classes related tables.
lckTcs  Lock tariff classification system related tables.
lckTp  Lock tarff period systems related tables.
lckTf  Lock tariff related tables.

Definition at line 90 of file tariffcatalogue.h.

enum OSB_LIB::TcsType

Enumerator:
tcsZone  Type tcsZone determines the tariff class from the tariff zone configurations.
tcsDirect  Type tcsDirect retrieves a tariff class directly from the service class.
Currently not supported.
tcsSsAction  Type tcsSsAction support 7 supplementary services such as Register, Erasure, Activation, Deactivation, Invocation, Interrogation and Password change.
Currently not supported.
tcsUnknown  Unknown type.

Definition at line 76 of file tariffclass.h.


Function Documentation

std::size_t OSB_LIB::asn1TagId ( Asn1TagId  tagId  ) 

Converts tag enum into ASN.1 tag value.

The given tag id is searched in a predefined list and the value is returned. In case the tag is not found the tagUnknown value is returned.

Parameters:
tagId The type identifier of ASN.1 encoded data.
Returns:
Tag value of the given ASN.1 encoded tag.

Asn1TagId OSB_LIB::asn1TagId ( std::size_t  tagValue  ) 

Converts ASN.1 tag value into an ASN.1 tag.

Parameters:
tagValue The ASN.1 tag value to be converted.
Returns:
ASN.1 tag of the given tag value.

std::ostream& OSB_LIB::operator<< ( std::ostream &  ,
const TaxAmount &   
)

Referenced by OSB_LIB::DefException::operator<<().

std::ostream& OSB_LIB::operator<< ( std::ostream &  ,
const BaseAmount &   
)

std::ostream& OSB_LIB::operator<< ( std::ostream &  o,
const Tax &  t 
) [inline]

Definition at line 83 of file tax.h.

References OSB_LIB::Tax::write().

AddressType OSB_LIB::addressType ( unsigned  long  )  [inline]

Convert numeric type id into enum, default to atUnknown.

Definition at line 388 of file address.h.

References atBilling, atHome, atOffice, and atUnknown.

long OSB_LIB::toLong ( AddressType  at  )  [inline]

Definition at line 398 of file address.h.

References atBilling, atHome, atOffice, and atUnknown.

const TaxTraits& OSB_LIB::getTaxTraits ( const TaxTraits::Oid &  id  ) 

Find a TaxTraits in the global TaxTraitsList by its id.

Parameters:
id Object id of the tax traits to find.
Exceptions:
ObjectNotFound if the the tax traits are not found.
Returns:
The matching tax traits.

bool OSB_LIB::leapyear ( int  year  )  [inline]

Check leap year.

Definition at line 627 of file chrono.h.

Referenced by lastDay().

int OSB_LIB::lastDay ( Month  ,
int  year 
) [inline]

last day of a month

Definition at line 632 of file chrono.h.

References OSB_LIB::Date::daytab_, and leapyear().

Date& OSB_LIB::operator+= ( Date &  ,
long   
)

Add n days to date.

Date& OSB_LIB::operator-= ( Date &  ,
long   
)

Subtract n days from date.

Date& OSB_LIB::operator++ ( Date &   ) 

Prefix increment one day.

Date OSB_LIB::operator++ ( Date &  ,
int   
)

Postfix increment one day.

Date& OSB_LIB::operator-- ( Date &   ) 

Prefix decrement one day.

Date OSB_LIB::operator-- ( Date &  ,
int   
)

Postfix decrement one day.

Date OSB_LIB::operator+ ( Date  ,
long   
)

Date plus n days.

Date OSB_LIB::operator- ( Date  ,
long   
)

Date minus n days.

Decimal OSB_LIB::operator++ ( Decimal &   )  [inline]

Definition at line 165 of file decimal.h.

Decimal OSB_LIB::operator-- ( Decimal &   )  [inline]

Definition at line 184 of file decimal.h.

Decimal OSB_LIB::operator++ ( Decimal &  ,
int   
) [inline]

Definition at line 170 of file decimal.h.

Decimal OSB_LIB::operator-- ( Decimal &  ,
int   
) [inline]

Definition at line 177 of file decimal.h.

Decimal OSB_LIB::operator * ( const Decimal &  ,
const Decimal &   
) [inline]

Definition at line 153 of file decimal.h.

Decimal OSB_LIB::operator/ ( const Decimal &  ,
const Decimal &   
) [inline]

Definition at line 159 of file decimal.h.

Decimal OSB_LIB::operator+ ( const Decimal &  ,
const Decimal &   
) [inline]

Definition at line 141 of file decimal.h.

Decimal OSB_LIB::operator- ( const Decimal &  ,
const Decimal &   
) [inline]

Definition at line 147 of file decimal.h.

std::ostream& OSB_LIB::operator<< ( std::ostream &  ,
const Decimal &   
)

bool OSB_LIB::operator== ( const Decimal &  d1,
const Decimal &  d2 
) [inline]

Definition at line 189 of file decimal.h.

References OSB_LIB::Decimal::value_.

bool OSB_LIB::operator!= ( const Decimal &  d1,
const Decimal &  d2 
) [inline]

Definition at line 194 of file decimal.h.

References OSB_LIB::Decimal::value_.

bool OSB_LIB::operator< ( const Decimal &  d1,
const Decimal &  d2 
) [inline]

Definition at line 199 of file decimal.h.

References OSB_LIB::Decimal::value_.

bool OSB_LIB::operator> ( const Decimal &  d1,
const Decimal &  d2 
) [inline]

Definition at line 204 of file decimal.h.

References OSB_LIB::Decimal::value_.

bool OSB_LIB::operator<= ( const Decimal &  d1,
const Decimal &  d2 
) [inline]

Definition at line 209 of file decimal.h.

References OSB_LIB::Decimal::value_.

bool OSB_LIB::operator>= ( const Decimal &  d1,
const Decimal &  d2 
) [inline]

Definition at line 214 of file decimal.h.

References OSB_LIB::Decimal::value_.

Fraction OSB_LIB::operator * ( const Fraction &  ,
const Fraction &   
) [inline]

Multiply 2 fractions.

Definition at line 154 of file fraction.h.

Fraction OSB_LIB::operator/ ( const Fraction &  ,
const Fraction &   
) [inline]

Divide 2 fractions.

Definition at line 160 of file fraction.h.

Fraction OSB_LIB::operator+ ( const Fraction &  ,
const Fraction &   
) [inline]

Add 2 fractions.

Definition at line 142 of file fraction.h.

Fraction OSB_LIB::operator- ( const Fraction &  ,
const Fraction &   
) [inline]

Substract 2 fractions.

Definition at line 148 of file fraction.h.

bool OSB_LIB::operator== ( const Fraction &  lhs,
const Fraction &  rhs 
) [inline]

Test for equality.

Definition at line 166 of file fraction.h.

References OSB_LIB::Fraction::denominator(), and OSB_LIB::Fraction::nominator().

bool OSB_LIB::operator!= ( const Fraction &  lhs,
const Fraction &  rhs 
) [inline]

Test for inequality.

Definition at line 172 of file fraction.h.

std::ostream& OSB_LIB::operator<< ( std::ostream &  os,
const Fraction &  f 
)

Output operator for Fraction.

Writes Fraction::str() to os.

std::ostream& OSB_LIB::operator<< ( std::ostream &  os,
const Currency &  c 
)

Currency output operator.

void OSB_LIB::add ( MoneyList ml,
const Money &  m 
)

Add money to a list of money.

void OSB_LIB::add ( MoneyList ml,
const MoneyList m 
)

Add a money list to a money list.

void OSB_LIB::subtract ( MoneyList ml,
const Money &  m 
)

Subtract money from a list of money.

void OSB_LIB::subtract ( MoneyList ml,
const MoneyList m 
)

Subtract a money list from a money list.

void OSB_LIB::convert ( Money &  ,
Money &   
)

Convert money. Not yet implemented!

(Why is the second argument not the target currency?)

Money OSB_LIB::operator * ( const Money &  ,
double   
) [inline]

Multiplication with a double.

Definition at line 394 of file money.h.

Money OSB_LIB::operator * ( const Money &  ,
const Decimal &   
) [inline]

Multiplication with a Decimal.

Definition at line 406 of file money.h.

Money OSB_LIB::operator/ ( const Money &  ,
double   
) [inline]

Division by a double.

Definition at line 418 of file money.h.

Money OSB_LIB::operator/ ( const Money &  ,
const Decimal &   
) [inline]

Division by a Decimal.

Definition at line 430 of file money.h.

Money OSB_LIB::operator+ ( const Money &  ,
const Money &   
) [inline]

Addition.

Definition at line 374 of file money.h.

Money OSB_LIB::operator- ( const Money &  ,
const Money &   
) [inline]

Subtraction.

Definition at line 381 of file money.h.

bool OSB_LIB::operator== ( const Money &  ,
const Money &   
)

Comparison.

bool OSB_LIB::operator!= ( const Money &  ,
const Money &   
)

Comparison.

bool OSB_LIB::operator< ( const Money &  ,
const Money &   
)

Less than operator.

bool OSB_LIB::operator> ( const Money &  ,
const Money &   
)

Greater than operator.

bool OSB_LIB::operator<= ( const Money &  ,
const Money &   
)

Less or equal operator.

bool OSB_LIB::operator>= ( const Money &  ,
const Money &   
)

Greater or equal operator.

std::ostream& OSB_LIB::operator<< ( std::ostream &  out,
const Money &  m 
)

Money output operator.

int OSB_LIB::pwCrypt ( const std::string &  src,
std::string &  dest 
)

Encrypt an ASCII sentence.

Parameters:
src String to encrypt.
dest Gets the encrypted string: each byte as 2 hex digits.
Returns:
0 if successful, 1 if encryption fails.

int OSB_LIB::pwDecrypt ( const std::string &  src,
std::string &  dest 
)

Decrypt an ASCII sentence.

Parameters:
src String to decrypt: it contains each byte as 2 hex digits.
dest Gets the decrypted string.
Returns:
0 if successful, 1 if decryption fails.

int OSB_LIB::osbCrypt ( const std::string &  src,
std::string &  dest 
)

Encrypt bytes with Block TEA algorithm.

Parameters:
src Bytes to encode.
dest Gets the encrypted bytes.
Returns:
0 if successful, 1 if encryption fails.

int OSB_LIB::osbDecrypt ( const std::string &  src,
std::string &  dest 
)

Decrypt bytes with Block TEA algorithm.

Parameters:
src Bytes to decode.
dest Gets the decrypted bytes.
Returns:
0 if successful, else:
  • 1: Block TEA decryption failed.
  • 2: length of src is not a multiple of 4.
  • 3: src contains less than 8 bytes.
  • 4: illegal length of src otherwise.

char OSB_LIB::toChar ( CfgStatus  cs  ) 

Convert a CfgStatus into a character.

Parameters:
cs Configuration status to convert.
Exceptions:
OsbException 23 in case of an illegal status.
Returns:
The character (lowercase) that corresponds to cs.
Remarks:
This conversion function throws because it is a programming mistake if a CfgStatus does not have a legal status.

CfgStatus OSB_LIB::cfgStatus ( char  s  ) 

Convert a character into a CfgStatus.

Parameters:
s Character to convert.
Returns:
The configuration status that corresponds to s.
Its value is cfgUnknown if s does not match any of the enumeration values.

char OSB_LIB::toChar ( ChargeType  ct  ) 

Convert ChargeType to one character database code.

Parameters:
ct The charge type to convert.
Returns:
The database character code for `ct'.

ChargeType OSB_LIB::toChargeType ( char  c  ) 

Convert one character database code to a charge type.

Remarks:
The caller of the function is responsible to verify the return value and to take appropriate actions should it be `ct_unknown'.
Parameters:
c Character to convert.
Returns:
The charge type that corresponds to `c'.
ct_unknown if `c' does not match a supported ChargeType.

std::string OSB_LIB::dirName ( const std::string &  path  ) 

Get the directory component of a path.

std::string OSB_LIB::baseName ( const std::string &  path  ) 

Get the filename component of a path.

int OSB_LIB::mkDir ( const std::string &  path,
bool  mkParents = false 
)

Create a directory.

Parameters:
path Directory to create.
mkParents Flag to create missing parent directories.
Returns:
0 if the directory exists or was successfully created,
else the return value of mkdir(). In case of an error errno is left unchanged.
If the directory path does not exist, the function creates it by calling mkdir() with mode = 0777 (see man 2 mkdir).

If mkParents is set parent directories are created as needed via a recursive function calls.

bool OSB_LIB::fileExists ( const std::string &  path,
bool  ct = false 
)

Test if a file exists.

Parameters:
path Name of file to verify.
ct Flag to check if path is a regular file.
Returns:
true if path exists and, if ct is set, is a regular file, else false.
Note:
The function calls stat() test for path and its type (see man 2 stat), errno is left unchanged in case of an error.

bool OSB_LIB::dirExists ( const std::string &  path,
bool  ct = false 
)

Test if a directory exists.

Parameters:
path Name of directory to verify.
ct Flag to check if path is a directory.
Returns:
true if path exists and, if ct is set, is a directory, else false.
Note:
The function calls stat() test for path and its type (see man 2 stat), errno is left unchanged in case of an error.

bool OSB_LIB::openStream ( std::fstream &  stream,
const std::string &  path,
std::ios_base::openmode  openMode 
)

Open the an output stream.

Parameters:
stream File stream to open.
path Path to the file.
openMode Opening mode for f.
Returns:
true if the file could be opened, else false.
See also:
fileOpenError().

int OSB_LIB::fileOpenError ( const std::string &  path,
const std::string &  mode 
)

Determine the error when opening a file.

Parameters:
path Path to the file.
mode Opening mode of the file.
Returns:
0 if the file could be opened, else errno as set by fopen().
The function is a work-around about the poor error information provided by std::fstream.

If the function deletes the file path if it was created by the function.

template<typename T>
std::ostream& OSB_LIB::operator<< ( std::ostream &  o,
Id< T >  id 
)

Output operator for Id.

Definition at line 116 of file osbid.h.

template<typename I>
std::ostream& OSB_LIB::operator<< ( std::ostream &  o,
Id2< I >  id 
)

Output operator for Id2.

Definition at line 210 of file osbid.h.

template<typename T, int ST>
std::ostream& OSB_LIB::operator<< ( std::ostream &  os,
const TypeId< T, ST > &  t 
) [inline]

Output operator for TypeId.

Definition at line 223 of file osbtype.h.

References OSB_LIB::TypeId< T, ST >::toLong().

template<typename I>
std::ostream& OSB_LIB::operator<< ( std::ostream &  o,
IdPeriod< I >  Id 
)

Definition at line 235 of file osbutils.h.

References OSB_LIB::Date::str().

bool OSB_LIB::operator== ( const OnetimeChargeDef::Oid &  id,
const OnetimeChargeDef &  rhs 
) [inline]

Definition at line 639 of file pricelist.h.

bool OSB_LIB::operator< ( const OnetimeChargeDef::Oid &  id,
const OnetimeChargeDef &  rhs 
) [inline]

Definition at line 645 of file pricelist.h.

std::ostream& OSB_LIB::operator<< ( std::ostream &  o,
const ProductItem &  pi 
)

Output operator for ProductItem: calls prInfo().

ResourceType OSB_LIB::mkResType ( long  rt  ) 

Convert a long into a resource type id.

Parameters:
rt Value to convert.
Returns:
The resource type that corresponds with ti, rtUnknown in case of an unknown type.

long OSB_LIB::toLong ( ResourceType  rt  ) 

Convert a resource type id into a long.

Parameters:
rt Resource type to convert.
Returns:
The long value that corresponds with ti, rtUnknown in case of an unknown type.

char OSB_LIB::toChar ( StatusValue  sv  ) 

Convert a status value into 1-character database code.

Parameters:
sv The status value to convert.
Exceptions:
OsbException if sv is invalid.
Returns:
The database character code for sv.

char OSB_LIB::toChar ( const Status &  s  ) 

Convert a status to one character database code.

Parameters:
s The status containing the status value to convert.
Exceptions:
OsbException if s contains an invalid status value.
Returns:
The database character code for the status value of s.

StatusValue OSB_LIB::statusValue ( char  c  ) 

Convert one character database code to a status value.

Parameters:
c character to convert.
Returns:
The status value that corresponds to c,
svNone if c does not match a supported StatusValue.
Remarks:
The caller of the function is responsible to verify the return value and to take appropriate actions should it be svNone.

std::ostream& OSB_LIB::operator<< ( std::ostream &  o,
StatusValue  sv 
)

Visible description of a StatusValue.

Remarks:
If the status value is not legal, its integer value is displayed.

Parameters:
o Stream to write to.
sv StatusValue to write.
Returns:
Reference to parameter output stream.

bool OSB_LIB::compatibleStatus ( StatusValue  parent,
StatusValue  child 
)

Check if the status of child is compatible with its parent.

The status value of a child is compatible with its parent if

      status(child) <= status(parent)

Parameters:
parent Status value of parent.
child Status value of child.
Returns:
true if the child's status is compatible with its parent, else false.

StatusValue OSB_LIB::mkChildStatus ( StatusValue  parentEffStatus,
StatusValue  childPrefStatus 
)

Create child status value that is compatible with parent.

Parameters:
parentEffStatus The effective status value of the parent.
childPrefStatus The preferred status value of the child.
Returns:
The effective status for the child.
A special case is the situation where the parent status is svNone. This means no status change for the parent exists: therefore its effective status must be created and the functions returns svCreated.

Referenced by OSB_LIB::StatusChange::adjustNewStatus().

bool OSB_LIB::allowed ( StatusValue  from,
StatusValue  to 
)

Check if a status transition is allowed.

The function checks if a status transition conforms with the OSB defined rules:

As can be seen from the function signature, the reason for the status change is not validated by this function.

Parameters:
from Old status value of the entity.
to New status value of the entity.
Returns:
true if the status transition is allowed.
false if not.

std::ostream& OSB_LIB::operator<< ( std::ostream &  os,
const Status &  s 
)

Output operator for Status.

The operator is just a wrapper to Status::write(...).

Parameters:
os ostream to write to.
s Status to write.
Returns:
Reference to the argument ostream.

std::ostream& OSB_LIB::operator<< ( std::ostream &  os,
const StatusChange &  sc 
)

Output operator for StatusChange.

The operator is just a wrapper to StatusChange::write(...).

Parameters:
os ostream to write to.
sc StatusChange to write.
Returns:
Reference to the argument ostream.

void OSB_LIB::ltrim ( std::string &  s,
const std::string &  d = posixWs 
)

Remove leading delimiters from a string.

Parameters:
s String to trim.
d String with delimiters to remove.

void OSB_LIB::rtrim ( std::string &  s,
const std::string &  d = posixWs 
)

Remove trailing delimiters from a string.

Parameters:
s String to trim.
d String with delimiters to remove.

void OSB_LIB::trim ( std::string &  s,
const std::string &  d = posixWs 
)

Remove leading and trailing delimiters from a string.

Parameters:
s String to trim.
d String with delimiters to remove.

bool OSB_LIB::endsWith ( const std::string &  str,
const std::string &  what 
)

Compare the end of string.

Parameters:
str String to compare.
what String for which to test str.
Returns:
true if str ends with what, else false.

std::string OSB_LIB::lstrip ( const std::string &  from,
const std::string &  what 
)

Conditionally remove the beginning of a string.

Parameters:
from String from which to remove.
what String to remove.
Returns:
The resulting string.
Removes the string what from from if it starts with what.

std::string OSB_LIB::rstrip ( const std::string &  from,
const std::string &  what 
)

Conditionally remove the end of a string.

Parameters:
from String from which to remove.
what String to remove.
Returns:
The resulting string.
Removes the string what from from if it ends with what.

void OSB_LIB::escapeChars ( std::string &  str,
const char  esc,
size_t  maxLen 
)

Create an Oracle search string.

Parameters:
str The string to process.
esc The escape character to use.
maxLen Max. length of created string.
Replaces the characters '*' and '?' by the Oracle wildcards '' rsp. '_', and escapes these wildcards ('', '_') in str.

bool OSB_LIB::decDigitsOnly ( const std::string &  s  ) 

Check if a string consists of decimal digits only.

Parameters:
s String to check.
Returns:
true if the string only contains decimal digits, else false.

bool OSB_LIB::hexDigitsOnly ( const std::string &  s  ) 

Check if a string consists of hexadecimal digits only.

Parameters:
s String to check.
Returns:
true if the string only contains hexadecimal digits, else false.

template<typename Cont>
void OSB_LIB::tokenize ( Cont &  dest,
const std::string &  src,
const std::string &  del,
bool  takeEmpty = false 
)

Tokenize a string by delimiter characters.

Parses a string that consists of tokens and delimiter characters without modifying the original.

Parameters:
dest STL-container that gets the tokens.
src String to parse.
del String with delimiter characters.
takeEmpty Flag to put empty string into dest.

Definition at line 516 of file stringutil.h.

Referenced by tokenize().

template<typename Cont>
void OSB_LIB::tokenize ( Cont &  dest,
const std::string &  src 
) [inline]

Tokenize a string by POSIX white-space characters.

Parameters:
dest STL-container that gets the tokens.
src String to parse.
The implementation of the function is:
      return tokenize(dest, src, posixWs);

Definition at line 558 of file stringutil.h.

References posixWs, and tokenize().

template<typename Cont>
void OSB_LIB::stringTokenize ( Cont &  dest,
const std::string &  src,
const std::string &  del,
bool  takeEmpty = true 
)

Tokenize a string by a delimiter string.

Parameters:
dest STL-container that gets the tokens.
src String to parse.
del Delimiter string.
takeEmpty Flag to put empty string into dest.
Parses a string that consists of tokens and delimiter strings without modifying the original.

Two consecutive delimiter strings result in an empty token; similar a delimiter string at the begin or end of src leads to an empty token. takeEmpty can be used to suppress this behaviour.

Definition at line 567 of file stringutil.h.

template<typename T>
bool OSB_LIB::ston ( T *  dest,
const std::string &  src,
std::string *  reminder = 0 
)

Convert string to number.

Parameters:
dest Gets the result.
src String to convert.
reminder If not 0: gets unconverted characters if the conversion is not successful.
Returns:
true if the conversion is successful, i.e., src has been completely converted.
For integer types the function uses strtol() rsp. strtoul().

Definition at line 607 of file stringutil.h.

template<typename T>
std::string OSB_LIB::mkStr ( const T &  src  ) 

General purpose conversion to std::string.

Parameters:
src What to convert.
Returns:
The converted number.
The function uses the output operator to write src to an std::ostringstream.

Definition at line 649 of file stringutil.h.

char OSB_LIB::toChar ( TaxKeyType  tkt  ) 

Convert TaxKeyType to one character database code.

Parameters:
tkt Tax key type to convert.
Returns:
The database character code for tkt.

TaxKeyType OSB_LIB::toTaxKeyType ( char  c  ) 

Convert one character database code to a TaxKeyType.

Remarks:
The caller of the function is responsible to verify the return value and to take appropriate actions should it be `tkt_unknown'.
Parameters:
c Character to convert.
Returns:
The TaxKeyType that corresponds to `c'.
tkt_unknown if `c' does not match a supported TaxKeyType.

std::auto_ptr<CdrIo> OSB_LIB::makeCdrIo ( const Id< BsPage > &  pageId  ) 

Create a CdrIo object.

Parameters:
pageId Id of the related balance page.
Returns:
Auto pointer to the allocated CdrIoImpl object.

std::size_t OSB_LIB::cdrAsn1Tag ( CdrAsn1Tag  cdrTag  ) 

Get value of Cdr specific ASN.1 tag from enum.

Parameters:
cdrTag The type identifier of ASN.1 encoded data.
Returns:
Tag value of the given ASN.1 encoded tag,
Asn1Tag::tagNotSet if cdrTag is unknown.

CdrAsn1Tag OSB_LIB::cdrAsn1Tag ( std::size_t  tagValue  ) 

Get enum from Cdr specific ASN.1 tag value.

Parameters:
tagValue The ASN.1 tag value to be converted.
Returns:
ASN.1 tag of the given tag value,
its value is Asn1Tag::tagNotSet if tagValue is unknown.

ResourceType OSB_LIB::resourceType ( std::size_t  tagValue  ) 

Convert ASN.1 tag id into resource type.

Parameters:
tagValue ASN.1 tag value to convert.
Returns:
The corresponding resource type, it is rtUnknown if tagValue is not a supported resource type.

CdrAsn1Tag OSB_LIB::cdrAsn1Tag ( ResourceType  type  ) 

Convert resource type into a Cdr ASN.1 tag.

Parameters:
type Resource type to convert.
Returns:
The corresponding ASN.1 tag id, it is Asn1Tag::tagNotSet in case of an unsupported resource type.

void OSB_LIB::groupSumCdr01 ( const SumCdrList &  source,
GroupedSumCdr01 target 
)

Group a list of SumCdr.

This function groups the summary CDR in source and writes the result to target.

Parameters:
source Source of SumCdr list.
target Output of grouped SumCdr list.

bool OSB_LIB::greaterToReleaseTsRef ( const ToCfgTsBase &  lhs,
const ToCfgTsBase &  rhs 
)

Compare tariff objects by descending release timestamp.

bool OSB_LIB::greaterToReleaseTsPtr ( const ToCfgTsBase *  lhs,
const ToCfgTsBase *  rhs 
)

Compare tariff objects by descending release timestamp.


Variable Documentation

const long OSB_LIB::TK_WILDCARD = 0

Match all tax key.

Note:
TK_WILDCARD must be less than any other taxkey identifier!

Definition at line 73 of file appltaxes.h.

const char OSB_LIB::tk_type[] = { 'a', 'c', 'p' }

Database code for the tax keys.

Definition at line 88 of file appltaxes.h.

const int OSB_LIB::DIR_MOD = 0777

Access permissions of the created directories.

Definition at line 66 of file invoicedir.h.

const unsigned int OSB_LIB::MAX_NAME = 63

Standard maximum length for object names.

Definition at line 51 of file osbconst.h.

const unsigned int OSB_LIB::MAX_DES = 255

Standard maximum length for object descriptions.

Definition at line 53 of file osbconst.h.

const long OSB_LIB::ID_NOT_SET = 0

Value if an object identifier or part of it is not set.

Definition at line 56 of file osbconst.h.

Referenced by OSB_LIB::Id2< OSB_LIB::PersProductNode >::id1Set(), OSB_LIB::Id2< OSB_LIB::PersProductNode >::id2Set(), OSB_LIB::Id2< OSB_LIB::PersProductNode >::isSet(), OSB_LIB::IdPeriod< I >::notSet(), OSB_LIB::IdDate< I >::notSet(), OSB_LIB::Id< OSB_LIB::Contract >::notSet(), OSB_DB::OtlId2::nvl(), OSB_DB::OtlId::nvl(), and OSB_DB::OtlId2::OtlId2().

FailPoint OSB_LIB::theFailPoint

Global object of FailPoint.

const std::string OSB_LIB::posixWs

White-space characters as defined by POSIX: " \f\n\r\t\v".

Referenced by tokenize().


Generated on Sat Sep 2 14:09:03 2006 for OSB Library by  doxygen 1.4.7