133 #ifndef OPENTXS_CORE_OTPAYMENTPLAN_HPP
134 #define OPENTXS_CORE_OTPAYMENTPLAN_HPP
141 #define PLAN_PROCESS_INTERVAL OTTimeGetTimeFromSeconds(10)
219 const int64_t& lAmount,
226 const int64_t& lPaymentAmount,
261 return m_bInitialPayment;
265 return m_tInitialPaymentDate;
269 return m_lInitialPaymentAmount;
273 return m_bInitialPaymentDone;
278 return m_tInitialPaymentCompletedDate;
282 return m_tFailedInitialPaymentDate;
286 return m_nNumberInitialFailures;
291 bool m_bInitialPayment;
294 time64_t m_tInitialPaymentCompletedDate;
296 time64_t m_tFailedInitialPaymentDate;
298 int64_t m_lInitialPaymentAmount;
299 bool m_bInitialPaymentDone;
300 int32_t m_nNumberInitialFailures;
307 m_tInitialPaymentDate = tInitialPaymentDate;
311 m_lInitialPaymentAmount = lAmount;
319 const time64_t& tInitialPaymentDate)
321 m_tInitialPaymentCompletedDate = tInitialPaymentDate;
324 const time64_t& tFailedInitialPaymentDate)
326 m_tFailedInitialPaymentDate = tFailedInitialPaymentDate;
331 m_nNumberInitialFailures = nNoFailures;
335 m_nNumberInitialFailures++;
342 return m_bPaymentPlan;
346 return m_lPaymentPlanAmount;
350 return m_tTimeBetweenPayments;
354 return m_tPaymentPlanStartDate;
358 return m_tPaymentPlanLength;
362 return m_nMaximumNoPayments;
367 return m_tDateOfLastPayment;
371 return m_tDateOfLastFailedPayment;
376 return m_nNoPaymentsDone;
380 return m_nNoFailedPayments;
386 int64_t m_lPaymentPlanAmount;
392 int32_t m_nMaximumNoPayments;
396 time64_t m_tDateOfLastFailedPayment;
398 int32_t m_nNoPaymentsDone;
400 int32_t m_nNoFailedPayments;
407 m_lPaymentPlanAmount = lAmount;
411 m_tTimeBetweenPayments = tTimeBetween;
415 m_tPaymentPlanStartDate = tPlanStartDate;
419 m_tPaymentPlanLength = tPlanLength;
423 m_nMaximumNoPayments = nMaxNoPayments;
428 m_tDateOfLastPayment = tDateOfLast;
432 m_tDateOfLastFailedPayment = tDateOfLast;
437 m_nNoPaymentsDone = nNoPaymentsDone;
441 m_nNoFailedPayments = nNoFailed;
450 m_nNoFailedPayments++;
455 bool m_bProcessingInitialPayment;
456 bool m_bProcessingPaymentPlan;
563 #endif // OPENTXS_CORE_OTPAYMENTPLAN_HPP
int32_t GetMaximumNoPayments() const
const time64_t & GetPaymentPlanLength() const
const time64_t & GetTimeBetweenPayments() const
void SetDateOfLastFailedPayment(const time64_t &tDateOfLast)
void IncrementNoFailedPayments()
void IncrementNoInitialFailures()
int32_t GetNoPaymentsDone() const
bool HasPaymentPlan() const
const time64_t & GetLastFailedInitialPaymentDate() const
const time64_t & GetInitialPaymentDate() const
void SetPaymentPlanStartDate(const time64_t &tPlanStartDate)
void ProcessInitialPayment()
const int64_t & GetInitialPaymentAmount() const
virtual int32_t ProcessXMLNode(irr::io::IrrXMLReader *&xml)
#define OT_TIME_MONTH_IN_SECONDS
virtual void UpdateContents()
virtual EXPORT ~OTPaymentPlan()
virtual bool ProcessCron()
EXPORT bool SetPaymentPlan(const int64_t &lPaymentAmount, time64_t tTimeUntilPlanStart=OT_TIME_MONTH_IN_SECONDS, time64_t tBetweenPayments=OT_TIME_MONTH_IN_SECONDS, time64_t tPlanLength=OT_TIME_ZERO, int32_t nMaxPayments=0)
void ProcessPaymentPlan()
bool HasInitialPayment() const
virtual bool SaveContractWallet(std::ofstream &ofs) const
int32_t GetNoInitialFailures() const
int32_t GetNoFailedPayments() const
void SetTimeBetweenPayments(const time64_t &tTimeBetween)
void SetMaximumNoPayments(int32_t nMaxNoPayments)
const time64_t & GetInitialPaymentCompletedDate() const
const time64_t & GetDateOfLastFailedPayment() const
void SetLastFailedInitialPaymentDate(const time64_t &tFailedInitialPaymentDate)
const time64_t & GetPaymentPlanStartDate() const
void Release_PaymentPlan()
virtual bool VerifyAgreement(OTPseudonym &RECIPIENT_NYM, OTPseudonym &SENDER_NYM) const
void SetInitialPaymentCompletedDate(const time64_t &tInitialPaymentDate)
void SetNoFailedPayments(int32_t nNoFailed)
void IncrementNoPaymentsDone()
EXPORT bool SetInitialPayment(const int64_t &lAmount, time64_t tTimeUntilInitialPayment=OT_TIME_ZERO)
void SetNoInitialFailures(const int32_t &nNoFailures)
const int64_t & GetPaymentPlanAmount() const
bool SetInitialPaymentDone()
const time64_t & GetDateOfLastPayment() const
virtual bool CompareAgreement(const OTAgreement &rh) const
bool IsInitialPaymentDone() const
bool ProcessPayment(const int64_t &lAmount)
void SetNoPaymentsDone(int32_t nNoPaymentsDone)
void SetPaymentPlanAmount(const int64_t &lAmount)
void SetInitialPaymentAmount(const int64_t &lAmount)
void SetInitialPaymentDate(const time64_t &tInitialPaymentDate)
void SetPaymentPlanLength(const time64_t &tPlanLength)
void SetDateOfLastPayment(const time64_t &tDateOfLast)