Index: /vtcross/trunk/src/include/vtcross/socketcomm.h
===================================================================
--- /vtcross/trunk/src/include/vtcross/socketcomm.h	(revision 184)
+++ /vtcross/trunk/src/include/vtcross/socketcomm.h	(revision 187)
@@ -39,12 +39,4 @@
 
 
-/* TODO
- * This is meant as the future replacement for the function below it.  It is
- * still a work in progress, and needs a code-review before we move to it
- * entirely.
- */
-void CreateClientSocket(struct RemoteComponent* serverInfo);
-
-
 /* This is the original function that does what the above function is supposed
  * to do.
Index: /vtcross/trunk/src/include/vtcross/components.h
===================================================================
--- /vtcross/trunk/src/include/vtcross/components.h	(revision 186)
+++ /vtcross/trunk/src/include/vtcross/components.h	(revision 187)
@@ -78,12 +78,4 @@
         virtual void RegisterServices(int32_t socketFD) = 0;
         virtual void DeregisterServices(int32_t socketFD) = 0;
-
-
-        /* The RemoteComponent struct represents either the VTCROSS shell or the
-         * VTCROSS SML.  If 'SML_present' is false, it is the former. Otherwise,
-         * it is the latter.
-         */
-        bool SML_present;
-        struct RemoteComponent *control;
 };
 
@@ -186,4 +178,13 @@
         void ValidateParameters(struct Parameter pList[], \
                 struct CE_Info *ce_info, int decision_array[]);
+
+
+        /* The SML_present bool reflects whether or not the remote component
+         * this object is connected to is an SML.  If it isn't, then it must be
+         * a shell.  The socketFD stores the socket file descriptor for this
+         * connection.
+         */
+        bool SML_present;
+        int32_t socketFD;
 };
 
@@ -239,10 +240,11 @@
                 Parameter *parameters, std::string service);
 
-
-        /* Contains information regarding the presence of a service management
-         * layer.  If this pointer is NULL, then there is no SML present in the
-         * radio system.
-         */
-        struct SML_Info *SML;
+        /* The SML_present bool reflects whether or not the remote component
+         * this object is connected to is an SML.  If it isn't, then it must be
+         * a shell.  The socketFD stores the socket file descriptor for this
+         * connection.
+         */
+        bool SML_present;
+        int32_t socketFD;
 };
 
Index: /vtcross/trunk/src/include/vtcross/containers.h
===================================================================
--- /vtcross/trunk/src/include/vtcross/containers.h	(revision 186)
+++ /vtcross/trunk/src/include/vtcross/containers.h	(revision 187)
@@ -77,17 +77,3 @@
 };
 
-
-/* Contains information regarding a remote component in a VTCROSS system.  Note
- * that this information is independent of component type, but technically will
- * only ever be the SML or shell.
- *
- * TODO I'm not 100% certain I'm doing this in the most efficient way.  Need
- * someone to look it over.
- */
-struct RemoteComponent {
-    std::string serverName;
-    int32_t serverPort;
-    int32_t socketFD;
-};
-
 #endif
Index: /vtcross/trunk/src/lib/socketcomm/socketcomm.cpp
===================================================================
--- /vtcross/trunk/src/lib/socketcomm/socketcomm.cpp	(revision 186)
+++ /vtcross/trunk/src/lib/socketcomm/socketcomm.cpp	(revision 187)
@@ -76,35 +76,4 @@
 }
 
-
-/* TODO see notes in socketcomm.h. This function, and the RemoteComponent
- * struct, need a code review to make sure it is ready to be used rather
- * than ClientSocket()
- */
-void
-CreateClientSocket(struct RemoteComponent* serverInfo)
-{
-    if(serverInfo == NULL)
-        ERROR(1, "CreateClientSocket received null struct pointer.\n");
-
-    struct hostent *server = gethostbyname(serverInfo->serverName.c_str());
-    if(server == NULL)
-        ERROR(1, "No server found by that hostname.");
-        
-    serverInfo->socketFD = socket(AF_INET, SOCK_STREAM, 0);
-    if(serverInfo->socketFD < 0) 
-        ERROR(1, "Error opening socket");
-
-    struct sockaddr_in serv_addr;
-    memset((void *) &serv_addr, 0, sizeof(serv_addr));
-    serv_addr.sin_family = AF_INET;
-    serv_addr.sin_port = htons(serverInfo->serverPort);
-    memcpy((char *) &serv_addr.sin_addr.s_addr, (char *) server->h_addr, \
-            server->h_length);
-
-    if(connect(serverInfo->socketFD, (struct sockaddr *) &serv_addr, \
-            sizeof(serv_addr)) < 0) 
-        ERROR(1, "Error connecting to remote socket.");
-}
-
     
 /* TODO I'm fairly certain this function is unnecessary, see function below for more details...
Index: /vtcross/trunk/src/policy_engines/policy_demo.cpp
===================================================================
--- /vtcross/trunk/src/policy_engines/policy_demo.cpp	(revision 186)
+++ /vtcross/trunk/src/policy_engines/policy_demo.cpp	(revision 187)
@@ -35,5 +35,5 @@
     LOG("Waiting for signal...\n");
     while(1) {
-        policyEngine.WaitForSignal(policyEngine.control->socketFD);
+//        policyEngine.WaitForSignal();
     }
 
Index: /vtcross/trunk/src/policy_engines/PolicyEngine.cpp
===================================================================
--- /vtcross/trunk/src/policy_engines/PolicyEngine.cpp	(revision 186)
+++ /vtcross/trunk/src/policy_engines/PolicyEngine.cpp	(revision 187)
@@ -25,5 +25,4 @@
     LOG("Creating Policy Engine.\n");
     SML_present = false;
-    control = new RemoteComponent;
     LoadPolicies();
 }
@@ -32,5 +31,4 @@
 PolicyEngine::~PolicyEngine()
 {
-    delete control;
 }
 
@@ -42,16 +40,13 @@
 
     SML_present = SML;
-    control = new RemoteComponent;
-    control->serverName = std::string(serverName);
-    control->serverPort = atoi(portNumber);
 
-    control->socketFD = ClientSocket(serverName, portNumber);
+    socketFD = ClientSocket(serverName, portNumber);
 
     if(SML_present) {
-        RegisterServices(control->socketFD);
+        RegisterServices(socketFD);
         LOG("Policy Engine connected to SML at %s.\n", serverName);
     }
     else {
-        RegisterComponent(control->socketFD);
+        RegisterComponent(socketFD);
         LOG("Policy Engine connected to shell at %s.\n", serverName);
     }
@@ -91,7 +86,7 @@
 {
     if(SML_present)
-        DeregisterServices(control->socketFD);
+        DeregisterServices(socketFD);
     else
-        DeregisterComponent(control->socketFD);
+        DeregisterComponent(socketFD);
 }
 
@@ -102,5 +97,5 @@
     LOG("Resetting Policy Engine.\n");
     SML_present = false;
-    control = new RemoteComponent;
+    socketFD = -1;
     LoadPolicies();
 }
