Commit de8d2443 authored by ringst's avatar ringst
Browse files

IMS User function added

parent cdf4bd8e
Loading
Loading
Loading
Loading
+188 −87
Original line number Diff line number Diff line
@@ -547,6 +547,12 @@ module AtsImsIot_Functions {
			return v_status;
		}
 		
          /*
          * 
          * @desc Looks for genUser (any) of a specific product
          * @param p_productIdx Index of the product 
          * @return genUser
          */ 
		function f_getAnyValidUser(integer p_productIdx) return ImsUserInfo {
			var integer v_size := sizeof(PX_IMS_USER_DATA);
			const ImsUserInfo c_dummyInfo := { "dummy", "dummy", "dummy", "dummy", "dummy" };
@@ -568,6 +574,12 @@ module AtsImsIot_Functions {
             	return c_dummyInfo;
           	}
         		
          /*
          * 
          * @desc Looks for TelUser of a specific product
          * @param p_productIdx Index of the product 
          * @return TelUser
          */ 		
			function f_getTelUserId(integer p_productIdx) return ImsUserInfo {
            	var integer v_size := sizeof(PX_IMS_USER_DATA);
             	const ImsUserInfo c_dummyInfo := { "dummy", "dummy", "dummy", "dummy", "dummy" };
@@ -589,6 +601,12 @@ module AtsImsIot_Functions {
             	return c_dummyInfo;
           	}
         		
          /*
          * 
          * @desc Looks for SipUser of a specific product
          * @param p_productIdx Index of the product 
          * @return SipUser
          */ 		
			function f_getSipUserId(integer p_productIdx) return ImsUserInfo {
            	var integer v_size := sizeof(PX_IMS_USER_DATA);
             	const ImsUserInfo c_dummyInfo := { "dummy", "dummy", "dummy", "dummy", "dummy" };
@@ -610,28 +628,111 @@ module AtsImsIot_Functions {
             	return c_dummyInfo;
           	}
         		
           /*
            * 
            * @desc Looks for ARCUser for a specific product
           * @param p_productIdx Index of the product 
           * @return ARCUser
            */
			function f_getACRUser(integer p_productIdx) return ImsUserInfo {
				var integer v_size := sizeof(PX_IMS_USER_DATA);
             	const ImsUserInfo c_dummyInfo := { "dummy", "dummy", "dummy", "dummy", "dummy" };
		  // TODO
             	var ImsUserIdentity v_userid;
          
           		for(var integer i := 0; i < v_size; i := i+1) {
              		if(PX_IMS_USER_DATA[i].productIndex == p_productIdx) {
             			var integer v_size_j := sizeof(PX_IMS_USER_DATA[i].userIds);
                		for(var integer j := 0; j < v_size_j; j := j+1) {
                   			if ( ischosen(PX_IMS_USER_DATA[i].userIds[j].acrUserId )) {
                  				return PX_IMS_USER_DATA[i].userIds[j].acrUserId;
                   			}  // end if
                		} // end for j
             			log("f_getACRUser: Did not find specified user id in specified product in PX_IMS_USER_DATA");
             			return c_dummyInfo;
            		} // end if
           		} // end for i
              	log("f_getACRUser: Did not find specified product in PX_IMS_USER_DATA");
              	return c_dummyInfo;
          	}
         	
          /*
          * 
          * @desc Looks for OIPUser for a specific product
          * @param p_productIdx Index of the product 
          * @return OIPUser
          */
			function f_getOIPUser(integer p_productIdx) return ImsUserInfo {
           		var integer v_size := sizeof(PX_IMS_USER_DATA);
           		const ImsUserInfo c_dummyInfo := { "dummy", "dummy", "dummy", "dummy", "dummy" };
		  // TODO
           		var ImsUserIdentity v_userid;
          
           		for(var integer i := 0; i < v_size; i := i+1) {
            		if(PX_IMS_USER_DATA[i].productIndex == p_productIdx) {
             			var integer v_size_j := sizeof(PX_IMS_USER_DATA[i].userIds);
             			for(var integer j := 0; j < v_size_j; j := j+1) {
              				if ( ischosen(PX_IMS_USER_DATA[i].userIds[j].oipUserId )) {
               					return PX_IMS_USER_DATA[i].userIds[j].oipUserId;
              				}  // end if
             			} // end for j
             			log("f_getOIPUser: Did not find specified user id in specified product in PX_IMS_USER_DATA");
             			return c_dummyInfo;
            		} // end if
           		} // end for i
           		log("f_getOIPUser: Did not find specified product in PX_IMS_USER_DATA");
           		return c_dummyInfo;
           	}
         		
          /*
          * 
          * @desc Looks for OIRUser for a specific product
          * @param p_productIdx Index of the product 
          * @return OIRUser
          */
			function f_getOIRUser(integer p_productIdx) return ImsUserInfo {
            	var integer v_size := sizeof(PX_IMS_USER_DATA);
              	const ImsUserInfo c_dummyInfo := { "dummy", "dummy", "dummy", "dummy", "dummy" };
          // TODO
              	var ImsUserIdentity v_userid;
          
           		for(var integer i := 0; i < v_size; i := i+1) {
            		if(PX_IMS_USER_DATA[i].productIndex == p_productIdx) {
             			var integer v_size_j := sizeof(PX_IMS_USER_DATA[i].userIds);
             			for(var integer j := 0; j < v_size_j; j := j+1) {
              				if ( ischosen(PX_IMS_USER_DATA[i].userIds[j].oirUserId )) {
               					return PX_IMS_USER_DATA[i].userIds[j].oirUserId;
              				}  // end if
             			} // end for j
             			log("f_getOIRUser: Did not find specified user id in specified product in PX_IMS_USER_DATA");
             			return c_dummyInfo;
            		} // end if
           		} // end for i
           		log("f_getOIRUser: Did not find specified product in PX_IMS_USER_DATA");
           		return c_dummyInfo; 	
          	}	


    		/*
    		* 
    		* @desc Looks for HoldUser for a specific product
    		* @param p_productIdx Index of the product 
    		* @return HoldUser
    		*/
			function f_getHoldUser(integer p_productIdx) return ImsUserInfo {
				var integer v_size := sizeof(PX_IMS_USER_DATA);
				const ImsUserInfo c_dummyInfo := { "dummy", "dummy", "dummy", "dummy", "dummy" };
		  // TODO
				var ImsUserIdentity v_userid;
  
				for(var integer i := 0; i < v_size; i := i+1) {
					if(PX_IMS_USER_DATA[i].productIndex == p_productIdx) {
						var integer v_size_j := sizeof(PX_IMS_USER_DATA[i].userIds);
						for(var integer j := 0; j < v_size_j; j := j+1) {
							if ( ischosen(PX_IMS_USER_DATA[i].userIds[j].holdUserId )) {
								return PX_IMS_USER_DATA[i].userIds[j].holdUserId;
							}  // end if
						} // end for j
						log("f_getHoldUser: Did not find specified user id in specified product in PX_IMS_USER_DATA");
						return c_dummyInfo;
					} // end if
				} // end for i
				log("f_getHoldUser: Did not find specified product in PX_IMS_USER_DATA");
				return c_dummyInfo; 	
			}