res

package
v0.0.0-...-969fd36 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 7, 2025 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	RES_NULL_TYPE        = 0x0000
	RES_STRING_POOL_TYPE = 0x0001
	RES_TABLE_TYPE       = 0x0002
	RES_XML_TYPE         = 0x0003

	RES_XML_FIRST_CHUNK_TYPE     = 0x0100
	RES_XML_START_NAMESPACE_TYPE = 0x0100
	RES_XML_END_NAMESPACE_TYPE   = 0x0101
	RES_XML_START_ELEMENT_TYPE   = 0x0102
	RES_XML_END_ELEMENT_TYPE     = 0x0103
	RES_XML_CDATA_TYPE           = 0x0104
	RES_XML_LAST_CHUNK_TYPE      = 0x017f

	RES_XML_RESOURCE_MAP_TYPE = 0x0180

	RES_TABLE_PACKAGE_TYPE   = 0x0200
	RES_TABLE_TYPE_TYPE      = 0x0201
	RES_TABLE_TYPE_SPEC_TYPE = 0x0202
)

Variables

This section is empty.

Functions

func NewXMLDecoder

func NewXMLDecoder(r io.Reader) (*xml.Decoder, error)

Types

type Complex

type Complex []struct {
	Name  ResTableRef
	Value Value
}

func (Complex) IsComplex

func (c Complex) IsComplex() bool

type ResChunkHeader

type ResChunkHeader struct {
	Type       uint16
	HeaderSize uint16
	Size       uint32
}

type ResStringPoolHeader

type ResStringPoolHeader struct {
	Header       ResChunkHeader
	StringCount  uint32
	StyleCount   uint32
	Flags        uint32
	StringsStart uint32
	StylesStart  uint32
}

type ResStringPoolRef

type ResStringPoolRef int32

type ResTableConfig

type ResTableConfig struct {
	Size                    uint32
	Imsi                    uint32
	Locale                  uint32
	ScreenType              uint32
	Input                   uint32
	ScreenSize              uint32
	Version                 uint32
	ScreenConfig            uint32
	ScreenSizeDp            uint32
	LocaleScript            [4]byte
	LocaleVariant           [8]byte
	ScreenConfig2           uint32
	LocaleScriptWasComputed bool

	LocaleNumberingSystem [8]byte
	// contains filtered or unexported fields
}

type ResTableEntry

type ResTableEntry struct {
	Size  uint16
	Flags uint16
	Key   ResStringPoolRef
}

type ResTableHeader

type ResTableHeader struct {
	Header       ResChunkHeader
	PackageCount uint32
}

type ResTableMap

type ResTableMap struct {
	Name  ResTableRef
	Value ResValue
}

type ResTableMapEntry

type ResTableMapEntry struct {
	Parent ResTableRef
	Count  uint32
}

type ResTablePackage

type ResTablePackage struct {
	Header         ResChunkHeader
	Id             uint32
	Name           [128]uint16
	TypeStrings    uint32
	LastPublicType uint32
	KeyStrings     uint32
	LastPublicKey  uint32
	TypeIdOffset   uint32
}

type ResTableRef

type ResTableRef uint32

type ResTableType

type ResTableType struct {
	Header       ResChunkHeader
	Id           uint8
	Flags        uint8
	Reserved     uint16
	EntryCount   uint32
	EntriesStart uint32
	Config       ResTableConfig
}

type ResTableTypeSpec

type ResTableTypeSpec struct {
	Header     ResChunkHeader
	Id         uint8
	Res0       uint8
	Res1       uint16
	EntryCount uint32
}

type ResValue

type ResValue struct {
	Size     uint16
	Res0     uint8
	DataType uint8
	Data     uint32
}

func (ResValue) Display

func (v ResValue) Display(pool *stringPool) string

type ResXMLTreeAttrExt

type ResXMLTreeAttrExt struct {
	Ns             ResStringPoolRef
	Name           ResStringPoolRef
	AttributeStart uint16
	AttributeSize  uint16
	AttributeCount uint16
	IdIndex        uint16
	ClassIndex     uint16
	StyleIndex     uint16
}

type ResXMLTreeAttribute

type ResXMLTreeAttribute struct {
	Ns         ResStringPoolRef
	Name       ResStringPoolRef
	RawValue   ResStringPoolRef
	TypedValue ResValue
}

type ResXMLTreeCdataExt

type ResXMLTreeCdataExt struct {
	Data      ResStringPoolRef
	TypedData ResValue
}

type ResXMLTreeEndElementExt

type ResXMLTreeEndElementExt struct {
	Ns   ResStringPoolRef
	Name ResStringPoolRef
}

type ResXMLTreeHeader

type ResXMLTreeHeader struct {
	Header ResChunkHeader
}

type ResXMLTreeNamespaceExt

type ResXMLTreeNamespaceExt struct {
	Prefix ResStringPoolRef
	Uri    ResStringPoolRef
}

type ResXMLTreeNode

type ResXMLTreeNode struct {
	Header     ResChunkHeader
	LineNumber uint32
	Comment    ResStringPoolRef
}

type Table

type Table map[int]TablePackage

func ParseTable

func ParseTable(r io.Reader) (Table, error)

func (Table) Get

func (t Table) Get(id int) (TableEntry, bool)

type TableEntry

type TableEntry struct {
	Name  string
	Value TableValue
}

type TablePackage

type TablePackage struct {
	Name  string
	Types []TableType
}

type TableType

type TableType struct {
	Name    string
	Entries []TableEntry
}

type TableValue

type TableValue interface {
	IsComplex() bool
}

type Value

type Value struct {
	DataType uint8
	Data     uint32
	String   string
}

func (Value) IsComplex

func (v Value) IsComplex() bool

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL