17079df5a3fb155947004843ee8ec25b36127e3edSteven Ng/*
27079df5a3fb155947004843ee8ec25b36127e3edSteven Ng * Copyright 2016, The Android Open Source Project
37079df5a3fb155947004843ee8ec25b36127e3edSteven Ng *
47079df5a3fb155947004843ee8ec25b36127e3edSteven Ng * Licensed under the Apache License, Version 2.0 (the "License");
57079df5a3fb155947004843ee8ec25b36127e3edSteven Ng * you may not use this file except in compliance with the License.
67079df5a3fb155947004843ee8ec25b36127e3edSteven Ng * You may obtain a copy of the License at
77079df5a3fb155947004843ee8ec25b36127e3edSteven Ng *
87079df5a3fb155947004843ee8ec25b36127e3edSteven Ng *     http://www.apache.org/licenses/LICENSE-2.0
97079df5a3fb155947004843ee8ec25b36127e3edSteven Ng *
107079df5a3fb155947004843ee8ec25b36127e3edSteven Ng * Unless required by applicable law or agreed to in writing, software
117079df5a3fb155947004843ee8ec25b36127e3edSteven Ng * distributed under the License is distributed on an "AS IS" BASIS,
127079df5a3fb155947004843ee8ec25b36127e3edSteven Ng * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
137079df5a3fb155947004843ee8ec25b36127e3edSteven Ng * See the License for the specific language governing permissions and
147079df5a3fb155947004843ee8ec25b36127e3edSteven Ng * limitations under the License.
157079df5a3fb155947004843ee8ec25b36127e3edSteven Ng */
167079df5a3fb155947004843ee8ec25b36127e3edSteven Ng
177079df5a3fb155947004843ee8ec25b36127e3edSteven Ngpackage com.android.managedprovisioning.parser;
187079df5a3fb155947004843ee8ec25b36127e3edSteven Ng
197079df5a3fb155947004843ee8ec25b36127e3edSteven Ngimport android.content.Intent;
207079df5a3fb155947004843ee8ec25b36127e3edSteven Ngimport com.android.managedprovisioning.common.IllegalProvisioningArgumentException;
217079df5a3fb155947004843ee8ec25b36127e3edSteven Ngimport com.android.managedprovisioning.model.ProvisioningParams;
227079df5a3fb155947004843ee8ec25b36127e3edSteven Ng
237079df5a3fb155947004843ee8ec25b36127e3edSteven Ng/**
247079df5a3fb155947004843ee8ec25b36127e3edSteven Ng * An interface for parsing provisioning data from {@link Intent}.
257079df5a3fb155947004843ee8ec25b36127e3edSteven Ng */
267079df5a3fb155947004843ee8ec25b36127e3edSteven Ngpublic interface ProvisioningDataParser {
277079df5a3fb155947004843ee8ec25b36127e3edSteven Ng    /** Parses the provisioning data from provisioning intent. */
2890f58ca887207a527c80d7e9ccea97e205c960d4Victor Chang    ProvisioningParams parse(Intent provisioningIntent)
297079df5a3fb155947004843ee8ec25b36127e3edSteven Ng            throws IllegalProvisioningArgumentException;
307079df5a3fb155947004843ee8ec25b36127e3edSteven Ng}