1 /* 2 * Copyright (C) 2014 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 /** 18 \mainpage DMT API Documentation 19 20 \section Overview 2.0 Overview 21 22 The Device Management implementation is based on the OMA DM (Formerly called SyncML DM) 23 Standard. A core part of implementation is the Device Management Tree (DMT). Each device that 24 supports OMA DM must contain a management tree. This document describes API required for 25 access and control DMT. \n 26 Nodes are the entities which can be manipulated by management actions carried over the OMA DM protocol. 27 A node can be as small as an integer or as large and complex as a background picture or screen saver. 28 29 \section IndustryStandard 3.0 Industry Standard 30 31 OMA DM (formerly SyncML DM) 32 33 34 \section ExternalApiDocuments 4.0 External API Documents 35 "None" 36 37 \section ClassAndStructureDefinitions 5.0 C++ Class and Structure Definitions 38 39 \subsection Classes 5.1 Classes 40 -# DMFirmAlertVector <em>Helper class; due to gcc limitations, declaring separate class instead of typedef produces smaller binary </em> 41 -# DMMap <em>Simple Collection Class without overhead of STL or QT DMMap template class is similar to Java's Hashmap </em> 42 -# DMString <em>A simple String class similar to Java String and STL string with limited functionality</em> 43 -# DMStringVector <em>Helper class; due to gcc limitations, declaring separate class instead of typedef produces smaller binary </em> 44 -# DmtAcl <em>DMT Acl models the standard ACL attribute Acl composes of Principals associated with accessrights Principals are server identifications </em> 45 -# DmtAttributes <em>DmtAttributes encapsulates all standard DMT attributes</em> 46 -# DmtData <em>Encapsulates various DMT leaf node data formats </em> 47 -# DmtDataChunk <em>encapsulates various methods to access External Storage Node (ESN) data</em> 48 -# DmtEventData <em> represents actual updates performed on DM node</em> 49 -# DmtEventSubscription <em>represents subscription on DMT update event</em> 50 -# DmtFirmAlert <em>Helper class for sending repair status with ALERT 1226</em> 51 -# DMFirmAlertVector <em>Helper class; due to gcc limitations, declaring separate class instead of typedef produces smaller binary</em> 52 -# DmtNode <em>DMT Represents tree nodes as they are created and added to the tree. </em> 53 -# DmtNotification <em>This class processes and parses "package0" information that is coming from a server </em> 54 -# DmtPrincipal <em>Represents actors from the security viewpoint </em> 55 -# DmtSessionProp <em>Structure with parameters for server session </em> 56 -# DmtTree <em>Represents the object that carrying atomicity (when supported) and authentication functionality associated with DMT access, as well as basic node access </em> 57 -# DmtTreeFactory <em>Represents a tree factory</em> 58 -# DMVector <em>Simple Collection Class without overhead of STL or QT DMVector template class is similar to Java's ArrayList </em> 59 -# JemBaseObject <em> Base object for any ref-counted object </em> 60 -# JemSmartPtr <em>Smart pointer; works with classes derived from JemBaseObject </em> 61 62 \subsection Structures 5.2 Structures 63 64 Details of the structures are available from the source header files directly: 65 -# DM_WlanEncoder.h 66 67 68 \section CFunctionsAndDataTypes 6.0 "C" Functions and Data Types 69 70 "None" 71 72 \section HeaderFilesAndLibraries 7.0 Header Files And Libraries 73 74 75 -# dmstring.h 76 -# dmt.hpp 77 -# dmtAcl.hpp 78 -# dmtAttributes.hpp 79 -# dmtData.hpp 80 -# dmtDataChunk.hpp 81 -# dmtDefs.h 82 -# dmtError.h 83 -# dmtErrorDescription.hpp 84 -# dmtEvent.hpp 85 -# dmtEventData.hpp 86 -# dmtFirmAlert.hpp 87 -# dmtNode.hpp 88 -# dmtNotification.hpp 89 -# dmtPrincipal.hpp 90 -# dmtSessionProp.hpp 91 -# dmtTree.hpp 92 -# dmtTreeFactory.hpp 93 -# dmvector.h 94 -# dmVersion.h 95 -# DM_WlanEncoder.h 96 -# jem_defs.hpp 97 -# omacp.h 98 -# xpl_StringUtil.h 99 -# xpl_Types.h 100 101 102 \section PluginExtensionPointInterface 8.0 Plug-in Extension Point Interface 103 104 \section OtherInterfaces 9.0 Other Interfaces 105 106 "None" 107 108 \section OtherNotes 10.0 Other Notes 109 110 - All APIs' functions are synchronous. 111 112 - All APIs are in the "Final" state and guaranteed backward compatibility. 113 114 - All APIs are not secured but protection enforced on the DMT subtree level. 115 116 */ 117