Android-cuttlefish cvd tool
cuttlefish
host
commands
cvd_send_sms
pdu_format_builder.h
Go to the documentation of this file.
1
//
2
// Copyright (C) 2022 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
#pragma once
17
18
#include <string>
19
20
namespace
cuttlefish
{
21
22
// Builds PDU format strings used to send SMS to Cuttlefish modem simulator.
23
//
24
// PDU format is specified by the Etsi organization in GSM 03.40
25
// https://www.etsi.org/deliver/etsi_gts/03/0340/05.03.00_60/gsmts_0340v050300p.pdf
26
//
27
// The resulting PDU format string encapsulates different parameters
28
// values like:
29
// * The phone number.
30
// * Data coding scheme. 7 bit Alphabet or 8 bit (used in e.g. smart
31
// messaging, OTA provisioning etc)
32
// * User data.
33
//
34
// NOTE: For sender phone number, only international numbers following the
35
// E.164 format (https://www.itu.int/rec/T-REC-E.164) are supported.
36
//
37
// NOTE: The coding scheme is not parameterized yet using always the 7bit
38
// Alphabet coding scheme.
39
class
PDUFormatBuilder
{
40
public
:
41
void
SetUserData
(
const
std::string& user_data);
42
void
SetSenderNumber
(
const
std::string& number);
43
// Returns the corresponding PDU format string, returns an empty string if
44
// the User Data or the Sender Number set are invalid.
45
std::string
Build
();
46
47
private
:
48
std::string
user_data_
;
49
std::string
sender_number_
;
50
};
51
52
}
// namespace cuttlefish
cuttlefish::PDUFormatBuilder
Definition:
pdu_format_builder.h:39
cuttlefish::PDUFormatBuilder::sender_number_
std::string sender_number_
Definition:
pdu_format_builder.h:49
cuttlefish::PDUFormatBuilder::user_data_
std::string user_data_
Definition:
pdu_format_builder.h:48
cuttlefish::PDUFormatBuilder::SetSenderNumber
void SetSenderNumber(const std::string &number)
Definition:
pdu_format_builder.cc:142
cuttlefish::PDUFormatBuilder::SetUserData
void SetUserData(const std::string &user_data)
Definition:
pdu_format_builder.cc:138
cuttlefish::PDUFormatBuilder::Build
std::string Build()
Definition:
pdu_format_builder.cc:146
cuttlefish
Definition:
alloc_utils.cpp:23
Generated by
1.9.4