nsprpub/pr/src/cplus/rctime.cpp
author Bogdan Szekely <bszekely@mozilla.com>
Tue, 09 Aug 2022 12:31:56 +0300
changeset 626500 aeac2e82d88d2535598de558b8cc9069780f034d
parent 496698 679ba7a64a774209a7cc8444ef6d548ac5add9f1
permissions -rw-r--r--
Merge autoland to mozilla-central. a=merge

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

/*
** Class implementation for calendar time routines (ref: prtime.h)
*/

#include "rctime.h"

RCTime::~RCTime() { }

RCTime::RCTime(PRTime time): RCBase() {
    gmt = time;
}
RCTime::RCTime(const RCTime& his): RCBase() {
    gmt = his.gmt;
}
RCTime::RCTime(RCTime::Current): RCBase() {
    gmt = PR_Now();
}
RCTime::RCTime(const PRExplodedTime& time): RCBase()
{
    gmt = PR_ImplodeTime(&time);
}

void RCTime::operator=(const PRExplodedTime& time)
{
    gmt = PR_ImplodeTime(&time);
}

RCTime RCTime::operator+(const RCTime& his)
{
    RCTime sum(gmt + his.gmt);
    return sum;
}

RCTime RCTime::operator-(const RCTime& his)
{
    RCTime difference(gmt - his.gmt);
    return difference;
}

RCTime RCTime::operator/(PRUint64 his)
{
    RCTime quotient(gmt / gmt);
    return quotient;
}

RCTime RCTime::operator*(PRUint64 his)
{
    RCTime product(gmt * his);
    return product;
}