From 06ecc51fd7c75880e04bc9179dc96e1b97de2e2e Mon Sep 17 00:00:00 2001 From: Reuben Thomas Date: Tue, 16 May 2006 11:26:40 +0000 Subject: Implement setTime method --- lib/rpcs32.cc | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'lib') diff --git a/lib/rpcs32.cc b/lib/rpcs32.cc index 0e9122c..27ca4ee 100644 --- a/lib/rpcs32.cc +++ b/lib/rpcs32.cc @@ -168,6 +168,35 @@ regReadIter(u_int16_t handle) return rfsv::E_PSI_GEN_NONE; } +Enum rpcs32:: +setTime(time_t time) +{ + bufferStore a; + Enum res; + PsiTime pt = PsiTime(time); + psi_timezone ptz; + rpcs::machineInfo mi; + + // cout << "settime" << endl; + a.addDWord(pt.getPsiTimeLo()); + a.addDWord(pt.getPsiTimeHi()); + if ((res = getMachineInfo(mi)) == + rfsv::E_PSI_GEN_NONE) { + a.addDWord(mi.countryCode); + if (PsiZone::getInstance().getZone(ptz)) { + a.addDWord(ptz.utc_offset); + a.addDWord(ptz.dst_zones); + a.addDWord(ptz.home_zone); + // cout << "a=" << a << endl; + if (!sendCommand(rpcs::SET_TIME, a)) + return rfsv::E_PSI_FILE_DISC; + return rfsv::E_PSI_GEN_NONE; + } else + return rfsv::E_PSI_GEN_FAIL; + } else + return res; +} + Enum rpcs32:: configOpen(u_int16_t &handle, u_int32_t size) { -- cgit v1.2.3