1   /* Copyright 2002-2021 CS GROUP
2    * Licensed to CS GROUP (CS) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * CS licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    *
9    *   http://www.apache.org/licenses/LICENSE-2.0
10   *
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  package org.orekit.gnss.metric.messages.ssr;
18  
19  /**
20   * Container for common data in SSR messages header.
21   * @author Bryan Cazabonne
22   * @since 11.0
23   */
24  public class SsrHeader {
25  
26      /** SSR Epoch Time 1s. */
27      private double ssrEpoch1s;
28  
29      /** SSR Update Interval. */
30      private int ssrUpdateInterval;
31  
32      /** SSR Multiple Message Indicator. */
33      private int ssrMultipleMessageIndicator;
34  
35      /** IOD SSR. */
36      private int iodSsr;
37  
38      /** SSR Provider ID. */
39      private int ssrProviderId;
40  
41      /** SSR Solution ID. */
42      private int ssrSolutionId;
43  
44      /**
45       * Get the SSR Epoch Time 1s.
46       * <p>
47       * Full seconds since the beginning of the week of continuous time scale
48       * with no offset from GPS, Galileo, QZSS, SBAS,
49       * UTC leap seconds from GLONASS,
50       * -14 s offset from BDS
51       * </p>
52       * @return the SSR Epoch Time 1s in seconds
53       */
54      public double getSsrEpoch1s() {
55          return ssrEpoch1s;
56      }
57  
58      /**
59       * Set the SSR Epoch Time 1s.
60       * @param ssrEpoch1s the SSR Epoch Time 1s to set
61       */
62      public void setSsrEpoch1s(final double ssrEpoch1s) {
63          this.ssrEpoch1s = ssrEpoch1s;
64      }
65  
66      /**
67       * Get the SSR Update Interval.
68       * @return the SSR Update Interval in seconds
69       */
70      public int getSsrUpdateInterval() {
71          return ssrUpdateInterval;
72      }
73  
74      /**
75       * Set the SSR Update Interval.
76       * @param ssrUpdateInterval the SSR Update Interval to set
77       */
78      public void setSsrUpdateInterval(final int ssrUpdateInterval) {
79          this.ssrUpdateInterval = ssrUpdateInterval;
80      }
81  
82      /**
83       * Get the SSR Multiple Message Indicator.
84       * <p>
85       * 0 - Last message of a sequence. 1 - Multiple message transmitted
86       * </p>
87       * @return the SSR Multiple Message Indicator
88       */
89      public int getSsrMultipleMessageIndicator() {
90          return ssrMultipleMessageIndicator;
91      }
92  
93      /**
94       * Set the SSR Multiple Message Indicator.
95       * @param ssrMultipleMessageIndicator the SSR Multiple Message Indicator to set
96       */
97      public void setSsrMultipleMessageIndicator(final int ssrMultipleMessageIndicator) {
98          this.ssrMultipleMessageIndicator = ssrMultipleMessageIndicator;
99      }
100 
101     /**
102      * Get the IOD SSR.
103      * <p>
104      * A change of Issue of Data SSR is used to
105      * indicate a change in the SSR generating configuration.
106      * </p>
107      * @return the IOD SSR
108      */
109     public int getIodSsr() {
110         return iodSsr;
111     }
112 
113     /**
114      * Set the IOD SSR.
115      * @param iodSsr the IOF SSR to set
116      */
117     public void setIodSsr(final int iodSsr) {
118         this.iodSsr = iodSsr;
119     }
120 
121     /**
122      * Get the SSR Provider ID.
123      * @return the SSR Provider ID
124      */
125     public int getSsrProviderId() {
126         return ssrProviderId;
127     }
128 
129     /**
130      * Set the SSR Provider ID.
131      * @param ssrProviderId the SSR Provider ID to set
132      */
133     public void setSsrProviderId(final int ssrProviderId) {
134         this.ssrProviderId = ssrProviderId;
135     }
136 
137     /**
138      * Get the SSR Solution ID.
139      * @return the SSR Solution ID
140      */
141     public int getSsrSolutionId() {
142         return ssrSolutionId;
143     }
144 
145     /**
146      * Set the SSR Solution ID.
147      * @param ssrSolutionId the SSR Solution ID to set
148      */
149     public void setSsrSolutionId(final int ssrSolutionId) {
150         this.ssrSolutionId = ssrSolutionId;
151     }
152 
153 }