1 /**
2  * Copyright (C) 2023 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef IMSMEDIA_RTPCONTEXTPARAMS_H
18 #define IMSMEDIA_RTPCONTEXTPARAMS_H
19 
20 #include <binder/Parcel.h>
21 #include <binder/Parcelable.h>
22 #include <binder/Status.h>
23 #include <stdint.h>
24 
25 namespace android
26 {
27 
28 namespace telephony
29 {
30 
31 namespace imsmedia
32 {
33 
34 /** Native representation of android.telephony.imsmedia.RtpContextParams */
35 
36 class RtpContextParams : public Parcelable
37 {
38 private:
39     int64_t ssrc;
40     int64_t timestamp;
41     int32_t sequenceNumber;
42 
43 public:
44     RtpContextParams();
45     RtpContextParams(const int64_t ssrc, const int64_t timestamp, const int32_t sequenceNumber);
46     RtpContextParams(const RtpContextParams& params);
47     virtual ~RtpContextParams();
48     RtpContextParams& operator=(const RtpContextParams& params);
49     bool operator==(const RtpContextParams& params) const;
50     bool operator!=(const RtpContextParams& params) const;
51     status_t writeToParcel(Parcel* out) const;
52     status_t readFromParcel(const Parcel* in);
53     int64_t getSsrc();
54     void setSsrc(int64_t ssrc);
55     int64_t getTimestamp();
56     void setTimestamp(int64_t timestamp);
57     int32_t getSequenceNumber();
58     void setSequenceNumber(int32_t sequenceNumber);
59     void setDefaultConfig();
60 };
61 
62 }  // namespace imsmedia
63 
64 }  // namespace telephony
65 
66 }  // namespace android
67 
68 #endif  // IMSMEDIA_RTPCONTEXTPARAMS_H
69