option app_label = "progran";
option name = "progran";
option legacy = "True";

message ProgranService (Service){
    option verbose_name = "Progran Service";
    required string onos_address = 1 [help_text = "Address of the progran ONOS", default = "onos-progran",  max_length = 254, null = False, db_index = False, blank = False];
    required string onos_port = 2 [help_text = "Port of the progran ONOS", default = "8183", max_length = 254, null = False, db_index = False, blank = False];
    required string onos_username = 3 [help_text = "Username of the progran ONOS", default = "karaf", max_length = 254, null = False, db_index = False, blank = False];
    required string onos_password = 4 [help_text = "Password of the progran ONOS", default = "karaf", max_length = 254, null = False, db_index = False, blank = False];
}

message ENodeB (XOSBase){
    option verbose_name = "eNodeB";
    required string description = 1 [db_index = False, max_length = 256, null = False, blank = False];
    required string enbId = 2 [help_text = "ID of this enodeb", db_index = False, max_length = 256, null = False, blank = False];
    required string ipAddr = 3 [help_text = "IP address of this enodeb", db_index = False, max_length = 256, null = False, blank = False];
    optional string created_by = 4 [null = True, blank = True, gui_hidden = True];
    optional bool previously_sync = 5 [null = False, blank = True, default=False, gui_hidden = True];
}

message Handover (XOSBase){
    option verbose_name = "Handover";
    required int32 A3offset = 1 [default = 1, db_index = False, null = False, blank = False];
    required int32 HysteresisA3 = 2 [default = 0, db_index = False, null = False, blank = False];
    required int32 A3TriggerQuantity = 3 [default = 0, db_index = False, null = False, blank = False];
    required int32 A5TriggerType = 4 [default = 0, db_index = False, null = False, blank = False];
    required int32 A5Thresh1Rsrp = 5 [default = 74, db_index = False, null = False, blank = False];
    required int32 A5Thresh1Rsrq = 6 [default = 10, db_index = False, null = False, blank = False];
    required int32 A5Thresh2Rsrp = 7 [default = 78, db_index = False, null = False, blank = False];
    required int32 A5Thresh2Rsrq = 8 [default = 10, db_index = False, null = False, blank = False];
    required int32 HysteresisA5 = 9 [default = 1, db_index = False, null = False, blank = False];
    required int32 A5TriggerQuantity = 10 [default = 0, db_index = False, null = False, blank = False];
    optional string created_by = 11 [null = True, blank = True, gui_hidden = True];
}

message ProgranServiceInstance (ServiceInstance){
    option verbose_name = "Progran Service Instance";
    option description = "Represent a Profile in the Progran ONOS Application";
    option owner_class_name="ProgranService";

    required string DlSchedType = 1 [default = "RR", choices = "(('RR', 'Round Robin'), ('PF', 'Proportional Fairness'), ('MAXCI', 'Maximum C/I'))", max_length = 30, blank = False, null = False, db_index = False];
    required int32 DlAllocRBRate = 2 [default = 0, db_index = False, null = False, blank = False];
    required string UlSchedType = 3 [default = "RR", choices = "(('RR', 'Round Robin'), ('PF', 'Proportional Fairness'), ('MAXCI', 'Maximum C/I'))", max_length = 30, blank = False, null = False, db_index = False];
    required int32 UlAllocRBRate = 4 [default = 0, db_index = False, null = False, blank = False];
    required string start = 5 [content_type = "date", null = True, blank = True];
    required string end = 6 [content_type = "date", null = True, blank = True];
    required int32 AdmControl = 7 [default = 0, choices = "((0, 'ALL'), (1, 'Voice Only'), (2, 'Data Only'))", blank = False, null = False, db_index = False];
    required int32 CellIndividualOffset = 8 [db_index = False, null = False, blank = False];
    required string mmeip = 9 [db_index = False, default = "0.0.0.0", max_length = 256, null = False, blank = False];
    required string mmeport = 10 [db_index = False, default = "8080", max_length = 256, null = False, blank = False];
    required int32 DlWifiRate = 11 [default = 100, db_index = False, null = False, blank = False];
    required int32 DlUeAllocRbRate = 12 [default = "0", help_text = "DL Per UE allocation", db_index = False, null = True, blank = True];
    required string SubsProfile = 13 [ db_index = False, null = True, blank = True];
    optional bool Status = 14 [ db_index = False, null = False, blank = True, default = False];
    optional manytoone enodeb->ENodeB:profiles = 15 [null = True, blank = True];
    required manytoone handover->Handover:profiles = 16 [null = False, blank = False];
    optional int32 active_enodeb_id = 17 [null = True, blank = True, gui_hidden = True];
    optional string created_by = 17 [null = True, blank = True, gui_hidden = True];
    optional bool previously_sync = 18 [null = False, blank = True, default=False, gui_hidden = True];
}


