Adding simple bridge application to forward calls without PBX app.
[lcr.git] / endpointapp.cpp
index 158b3d6..da797de 100644 (file)
 /*
  * EndpointApp constructor
  */
-EndpointApp::EndpointApp(class Endpoint *epoint, int origin)
+EndpointApp::EndpointApp(class Endpoint *epoint, int origin, int type)
 {
        ea_endpoint = epoint;
+       ea_type = type;
        classuse++;
 }
 
@@ -40,3 +41,26 @@ void EndpointApp::ea_message_join(unsigned int join_id, int message_type, union
        PDEBUG(DEBUG_EPOINT, "%s: Spare function.\n", __FUNCTION__);
 }
 
+
+/* create endpoint app */
+class EndpointApp *new_endpointapp(class Endpoint *epoint, int origin, int type)
+{
+       class EndpointApp *app = NULL;
+
+       switch (type) {
+       case EAPP_TYPE_PBX:
+               app = new EndpointAppPBX(epoint, origin);
+               break;
+       case EAPP_TYPE_BRIDGE:
+               app = new EndpointAppBridge(epoint, origin);
+               break;
+       }
+
+       if (!app)
+               FATAL("Failed to create endpoint APP (type %d)\n", type);
+
+       epoint->ep_app_type = type;
+       epoint->ep_app = app;
+
+       return app;
+}