1   package org.kuali.student.lum.program.client.rpc;
2   
3   import com.google.gwt.user.client.rpc.AsyncCallback;
4   
5   import org.kuali.student.common.assembly.data.Data;
6   import org.kuali.student.common.dto.StatusInfo;
7   import org.kuali.student.common.ui.client.service.BaseDataOrchestrationRpcServiceAsync;
8   import org.kuali.student.common.ui.client.service.DataSaveResult;
9   import org.kuali.student.lum.program.client.requirements.ProgramRequirementsDataModel;
10  import org.kuali.student.lum.program.dto.ProgramRequirementInfo;
11  
12  import java.util.List;
13  import java.util.Map;
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  public interface MajorDisciplineProposalRpcServiceAsync extends MajorDisciplineRpcServiceAsync {
25      
26      
27      public void getProgramRequirements(List<String> programRequirementIds, AsyncCallback<List<ProgramRequirementInfo>> callback);
28      public void storeProgramRequirements(Map<Integer, ProgramRequirementsDataModel.requirementState> states, Map<Integer, ProgramRequirementInfo> progReqs, AsyncCallback<Map<Integer, ProgramRequirementInfo>> async);    
29      public void createProgramRequirement(ProgramRequirementInfo programRequirementInfo, AsyncCallback<ProgramRequirementInfo> callback);
30      public void deleteProgramRequirement(String programRequirementId, AsyncCallback<StatusInfo> callback);
31      public void updateProgramRequirement(ProgramRequirementInfo programRequirementInfo, AsyncCallback<ProgramRequirementInfo> callback);
32      public void isLatestVersion(String versionIndId, Long versionSequenceNumber, AsyncCallback<Boolean> callback);
33  	public void updateState(Data data, String state, AsyncCallback<DataSaveResult> callback);
34  }