aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/protobuf/interop/cast.cpp
blob: 999b48a7cb9b2f2cd80eb3c8748f695ec4810503 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <library/cpp/protobuf/interop/cast.h>
 
#include <google/protobuf/duration.pb.h>
#include <google/protobuf/timestamp.pb.h>
#include <google/protobuf/util/time_util.h>
 
namespace NProtoInterop { 
    google::protobuf::Duration CastToProto(TDuration duration) { 
        return google::protobuf::util::TimeUtil::MicrosecondsToDuration(duration.MicroSeconds()); 
    } 
 
    google::protobuf::Timestamp CastToProto(TInstant instant) { 
        return google::protobuf::util::TimeUtil::MicrosecondsToTimestamp(instant.MicroSeconds()); 
    } 
 
    TDuration CastFromProto(const google::protobuf::Duration& duration) { 
        return TDuration::MicroSeconds(google::protobuf::util::TimeUtil::DurationToMicroseconds(duration)); 
    } 
 
    TInstant CastFromProto(const google::protobuf::Timestamp& timestamp) { 
        return TInstant::MicroSeconds(google::protobuf::util::TimeUtil::TimestampToMicroseconds(timestamp)); 
    } 
}