contract.idl

Go to the documentation of this file.
00001 // OSB library ********************************************* -*- IDL -*-
00006 /*
00007   AUTHOR(S): Darryl Kang (dk)
00008 
00009   RCS information
00010    $Name: OSB_060808 $
00011    $Revision: 1.37.2.1 $
00012 
00013   License
00014    OSB rating and billing library for communication networks
00015    Copyright (C) 2004, 2005, 2006  OSB systems
00016 
00017    This file may be distributed and/or modify under the terms of the
00018    GNU General Public License (GPL) as published by the Free Software
00019    Foundation which is provided in the file LICENSE.GPL included in the
00020    packaging of this file.
00021 
00022    The file is distributed in the hope that it will be useful, but WITHOUT
00023    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00024    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
00025    for more details.
00026 
00027    Holders of a OSB Commercial License may use this file under the terms
00028    and conditions of this commercial license.
00029  */
00030 #ifndef CONTRACT_IDL
00031 #define CONTRACT_IDL
00032 // *********************************************************************
00033 #include "corba_utility.idl"
00034 #include "persproduct.idl"
00035 #include "product.idl"
00036 #include "balancesheet.idl"
00037 
00038 module corba {
00039   module cadmin {
00040     module contract {
00042 
00043 
00044       enum BillCycleType {
00045           btUnknown,           
00046           btIntervalBillCycle, 
00047           btDateBillCycle      
00048       };
00049 
00053       struct BillCycle {
00055           BillCycleId id;
00056 
00058           common::Utf8String name;
00059 
00061           common::Utf8String desc;
00062       };
00063 
00064       typedef sequence<BillCycle> BillCycleSeq;
00066 
00068       enum AccountingType {
00070           atUnknown,
00071 
00073           atCustomer,
00074 
00079           atSupplier
00080       };
00081 
00083       enum StatementType {
00085           stUnknown,
00086 
00088           stInvoice,
00089 
00091           stReconciliation
00092       };
00093 
00098       struct InvoiceInfo {
00100           BsPageId bpId;
00101 
00103           common::Utf8String invoiceNumber;
00104 
00106           ContractId conId;
00107 
00109           StatementType type;
00110 
00112           common::Date billDate;
00113 
00115           common::Date startDate;
00116 
00118           common::Date endDate;
00119 
00121           common::Money amt;
00122 
00124           common::Utf8String hostName;
00125 
00127           common::Utf8String fileInfo;
00128       };
00129 
00131       typedef sequence<InvoiceInfo> InvoiceInfoSeq;
00132 
00134       interface ContractWriter {
00136           readonly attribute ContractId id;
00143           readonly attribute cadmin::AssociateId owner;
00144 
00146           readonly attribute common::TaxKeyId tkId;
00147 
00149           readonly attribute AccountingType acctType;
00150 
00152           readonly attribute BillCycleId bcId;
00153 
00155           readonly attribute common::DateTime createdDate;
00156 
00158           readonly attribute Status effStatus;
00159 
00161           readonly attribute Status prefStatus;
00162 
00164           readonly attribute common::DateTime effStatusDate;
00165 
00170           readonly attribute common::DateTime prefStatusDate;
00171 
00173           readonly attribute common::Money creditLimit;
00174 
00186           StatusValue requestedStatus(
00187               in common::DateTime ts
00188           ) raises (common::OsbCorbaException);
00189 
00200           StatusHistory statusHistory(
00201               in common::DateTime from,
00202               in common::DateTime to,
00203               in boolean          noWait
00204           ) raises (common::OsbCorbaException);
00205 
00213           common::Utf8String getStatement(
00214               in common::Utf8String fileInfo
00215           ) raises (common::OsbCorbaException);
00216 
00228           InvoiceInfoSeq getStatements(
00229               in StatementType type,
00230               in boolean noWait
00231           ) raises (common::OsbCorbaException);
00232 
00240           BalanceSheetWriter getBalanceSheet(
00241               in boolean noWait
00242           ) raises (common::OsbCorbaException);
00243 
00253           cadmin::persprod::PersProductWriter getPersProduct(
00254               in cadmin::PersProdId id,
00255               in boolean            noWait
00256           ) raises (common::OsbCorbaException);
00257 
00259           cadmin::persprod::PersProdSeq getPersProducts(
00260               in boolean noWait
00261           ) raises (common::OsbCorbaException);
00262 
00264           boolean setTaxKey(in common::TaxKeyId tkId);
00265 
00267           boolean setBillCycle(in BillCycleId bcId);
00268 
00270           boolean setCreditLimit(in common::Money credit);
00271 
00287           cadmin::persprod::PersProductWriter addPersProduct(
00288               in pcat::pd::ProductId id,
00289               in cadmin::AssociateId userId,
00290               in boolean             noWait
00291           ) raises (common::OsbCorbaException);
00292 
00305           boolean removePersProduct(
00306               in cadmin::PersProdId id,
00307               in boolean            noWait
00308           ) raises (common::OsbCorbaException);
00309 
00326           cadmin::ContractId create(
00327               in cadmin::AssociateId owner,
00328               in boolean             noWait
00329           ) raises (common::OsbCorbaException);
00330 
00332           boolean commitChanges(
00333               in boolean noWait
00334           ) raises (common::OsbCorbaException);
00335 
00337 
00338 
00352           boolean changeStatus(
00353               inout StatusRequest       status,
00354               in    boolean             noWait,
00355               out   common::CfgErrorSeq errors
00356           ) raises (common::OsbCorbaException);
00358       };                                // interface ContractWriter
00359     };                                  // module contract
00360   };                                    // module cadmin
00361 };
00362 #endif                                  // #ifndef CONTRACT_IDL

Generated on Sat Sep 2 14:23:00 2006 for OSB Library by  doxygen 1.4.7