Lines Matching defs:item

90         Item *item = &mItems[i];
91 delete[] item->mName;
92 item->mName = NULL;
93 freeItemValue(item);
98 void AMessage::freeItemValue(Item *item) {
99 switch (item->mType) {
102 delete item->u.stringValue;
110 if (item->u.refValue != NULL) {
111 item->u.refValue->decStrong(this);
119 item->mType = kTypeInt32; // clear type
181 // assumes item's name was uninitialized or NULL
191 Item *item;
194 item = &mItems[i];
195 freeItemValue(item);
199 item = &mItems[i];
200 item->mType = kTypeInt32;
201 item->setName(name, len);
204 return item;
211 const Item *item = &mItems[i];
212 return item->mType == type ? item : NULL;
221 const Item *item = &mItems[i];
222 switch (item->mType) {
224 *value = item->u.floatValue;
227 *value = (float)item->u.doubleValue;
230 *value = (float)item->u.int64Value;
233 *value = (float)item->u.int32Value;
236 *value = (float)item->u.sizeValue;
248 const Item *item = &mItems[i];
249 switch (item->mType) {
251 *value = item->u.int64Value;
254 *value = item->u.int32Value;
270 Item *item = allocateItem(name); \
272 item->mType = kType##NAME; \
273 item->u.FIELDNAME = value; \
278 const Item *item = findItem(name, kType##NAME); \
279 if (item) { \
280 *value = item->u.FIELDNAME; \
297 Item *item = allocateItem(name);
298 item->mType = kTypeString;
299 item->u.stringValue = new AString(s, len < 0 ? strlen(s) : len);
309 Item *item = allocateItem(name);
310 item->mType = type;
313 item->u.refValue = obj.get();
325 Item *item = allocateItem(name);
326 item->mType = kTypeMessage;
329 item->u.refValue = obj.get();
335 Item *item = allocateItem(name);
336 item->mType = kTypeRect;
338 item->u.rectValue.mLeft = left;
339 item->u.rectValue.mTop = top;
340 item->u.rectValue.mRight = right;
341 item->u.rectValue.mBottom = bottom;
345 const Item *item = findItem(name, kTypeString);
346 if (item) {
347 *value = *item->u.stringValue;
354 const Item *item = findItem(name, kTypeObject);
355 if (item) {
356 *obj = item->u.refValue;
363 const Item *item = findItem(name, kTypeBuffer);
364 if (item) {
365 *buf = (ABuffer *)(item->u.refValue);
372 const Item *item = findItem(name, kTypeMessage);
373 if (item) {
374 *obj = static_cast<AMessage *>(item->u.refValue);
383 const Item *item = findItem(name, kTypeRect);
384 if (item == NULL) {
388 *left = item->u.rectValue.mLeft;
389 *top = item->u.rectValue.mTop;
390 *right = item->u.rectValue.mRight;
391 *bottom = item->u.rectValue.mBottom;
561 const Item &item = mItems[i];
563 switch (item.mType) {
566 "int32_t %s = %d", item.mName, item.u.int32Value);
570 "int64_t %s = %lld", item.mName, item.u.int64Value);
574 "size_t %s = %d", item.mName, item.u.sizeValue);
578 "float %s = %f", item.mName, item.u.floatValue);
582 "double %s = %f", item.mName, item.u.doubleValue);
586 "void *%s = %p", item.mName, item.u.ptrValue);
591 item.mName,
592 item.u.stringValue->c_str());
596 "RefBase *%s = %p", item.mName, item.u.refValue);
600 sp<ABuffer> buffer = static_cast<ABuffer *>(item.u.refValue);
603 tmp = AStringPrintf("Buffer %s = {\n", item.mName);
609 "Buffer *%s = %p", item.mName, buffer.get());
616 item.mName,
618 item.u.refValue)->debugString(
619 indent + strlen(item.mName) + 14).c_str());
624 item.mName,
625 item.u.rectValue.mLeft,
626 item.u.rectValue.mTop,
627 item.u.rectValue.mRight,
628 item.u.rectValue.mBottom);
659 Item *item = &msg->mItems[i];
663 ALOGE("Failed reading name for an item. Parsing aborted.");
668 item->mType = static_cast<Type>(parcel.readInt32());
671 switch (item->mType) {
674 item->u.int32Value = parcel.readInt32();
680 item->u.int64Value = parcel.readInt64();
686 item->u.sizeValue = static_cast<size_t>(parcel.readInt32());
692 item->u.floatValue = parcel.readFloat();
698 item->u.doubleValue = parcel.readDouble();
712 item->u.stringValue = new AString(stringValue);
734 item->u.refValue = subMsg.get();
745 item->setName(name, strlen(name));
756 const Item &item = mItems[i];
758 parcel->writeCString(item.mName);
759 parcel->writeInt32(static_cast<int32_t>(item.mType));
761 switch (item.mType) {
764 parcel->writeInt32(item.u.int32Value);
770 parcel->writeInt64(item.u.int64Value);
776 parcel->writeInt32(static_cast<int32_t>(item.u.sizeValue));
782 parcel->writeFloat(item.u.floatValue);
788 parcel->writeDouble(item.u.doubleValue);
794 parcel->writeCString(item.u.stringValue->c_str());
800 static_cast<AMessage *>(item.u.refValue)->writeToParcel(parcel);
827 const Item &item = mItems[i];
828 const Item *oitem = other->findItem(item.mName, item.mType);
829 switch (item.mType) {
831 if (oitem == NULL || item.u.int32Value != oitem->u.int32Value) {
832 diff->setInt32(item.mName, item.u.int32Value);
837 if (oitem == NULL || item.u.int64Value != oitem->u.int64Value) {
838 diff->setInt64(item.mName, item.u.int64Value);
843 if (oitem == NULL || item.u.sizeValue != oitem->u.sizeValue) {
844 diff->setSize(item.mName, item.u.sizeValue);
849 if (oitem == NULL || item.u.floatValue != oitem->u.floatValue) {
850 diff->setFloat(item.mName, item.u.sizeValue);
855 if (oitem == NULL || item.u.doubleValue != oitem->u.doubleValue) {
856 diff->setDouble(item.mName, item.u.sizeValue);
861 if (oitem == NULL || *item.u.stringValue != *oitem->u.stringValue) {
862 diff->setString(item.mName, *item.u.stringValue);
867 if (oitem == NULL || memcmp(&item.u.rectValue, &oitem->u.rectValue, sizeof(Rect))) {
869 item.mName, item.u.rectValue.mLeft, item.u.rectValue.mTop,
870 item.u.rectValue.mRight, item.u.rectValue.mBottom);
875 if (oitem == NULL || item.u.ptrValue != oitem->u.ptrValue) {
876 diff->setPointer(item.mName, item.u.ptrValue);
882 sp<ABuffer> myBuf = static_cast<ABuffer *>(item.u.refValue);
885 diff->setBuffer(item.mName, NULL);
894 diff->setBuffer(item.mName, myBuf);
901 sp<AMessage> myMsg = static_cast<AMessage *>(item.u.refValue);
904 diff->setMessage(item.mName, NULL);
912 diff->setMessage(item.mName, deep ? changes : myMsg);
918 if (oitem == NULL || item.u.refValue != oitem->u.refValue) {
919 diff->setObject(item.mName, item.u.refValue);
925 ALOGE("Unknown type %d", item.mType);
1003 status_t AMessage::setEntryAt(size_t index, const ItemData &item) {
1012 if (!item.used()) {
1019 if (item.find(&dst->u.int32Value)) {
1021 } else if (item.find(&dst->u.int64Value)) {
1023 } else if (item.find(&dst->u.sizeValue)) {
1025 } else if (item.find(&dst->u.floatValue)) {
1027 } else if (item.find(&dst->u.doubleValue)) {
1029 } else if (item.find(&dst->u.ptrValue)) {
1031 } else if (item.find(&dst->u.rectValue)) {
1033 } else if (item.find(&stringValue)) {
1036 } else if (item.find(&refValue)) {
1040 } else if (item.find(&msgValue)) {
1044 } else if (item.find(&bufValue)) {
1049 // unsupported item - we should not be here.
1076 void AMessage::setItem(const char *name, const ItemData &item) {
1077 if (item.used()) {
1080 setEntryAt(it - mItems, item);