func (suite *ReleaseStoreLibrarySuite) createObjpropResource(rel release.Release, name string, filler func(consumer objprop.Consumer)) { resource, _ := rel.NewResource(name, "") writer, _ := resource.AsSink() consumer := dosObjprop.NewConsumer(writer, suite.descriptors) filler(consumer) consumer.Finish() }
func (suite *DynamicObjPropStoreSuite) createProvider(filler func(consumer objprop.Consumer)) objprop.Provider { store := serial.NewByteStore() consumer := dos.NewConsumer(store, suite.descriptors) filler(consumer) consumer.Finish() provider, _ := dos.NewProvider(bytes.NewReader(store.Data()), suite.descriptors) return provider }
func (library *ReleaseStoreLibrary) serializeObjpropStore(store objprop.Store) []byte { buffer := serial.NewByteStore() consumer := dosObjprop.NewConsumer(buffer, library.descriptors) for classIndex, classDesc := range library.descriptors { for subclassIndex, subclassDesc := range classDesc.Subclasses { for typeIndex := uint32(0); typeIndex < subclassDesc.TypeCount; typeIndex++ { objID := res.MakeObjectID(res.ObjectClass(classIndex), res.ObjectSubclass(subclassIndex), res.ObjectType(typeIndex)) data := store.Get(objID) consumer.Consume(objID, data) } } } consumer.Finish() return buffer.Data() }