incubator-celix-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From abroekh...@apache.org
Subject svn commit: r1528388 - in /incubator/celix/trunk/framework: private/src/bundle_archive.c private/src/framework.c public/include/bundle_state.h
Date Wed, 02 Oct 2013 09:08:43 GMT
Author: abroekhuis
Date: Wed Oct  2 09:08:43 2013
New Revision: 1528388

URL: http://svn.apache.org/r1528388
Log:
CELIX-58: Added BUNDLE_UNKNOWN state for easier handling of the bundle state

Modified:
    incubator/celix/trunk/framework/private/src/bundle_archive.c
    incubator/celix/trunk/framework/private/src/framework.c
    incubator/celix/trunk/framework/public/include/bundle_state.h

Modified: incubator/celix/trunk/framework/private/src/bundle_archive.c
URL: http://svn.apache.org/viewvc/incubator/celix/trunk/framework/private/src/bundle_archive.c?rev=1528388&r1=1528387&r2=1528388&view=diff
==============================================================================
--- incubator/celix/trunk/framework/private/src/bundle_archive.c (original)
+++ incubator/celix/trunk/framework/private/src/bundle_archive.c Wed Oct  2 09:08:43 2013
@@ -86,6 +86,7 @@ celix_status_t bundleArchive_createSyste
                     archive->archiveRoot = NULL;
                     archive->archiveRootDir = NULL;
                     archive->refreshCount = -1;
+                    archive->persistentState = BUNDLE_UNKNOWN;
                     time(&archive->lastModified);
 
                     *bundle_archive = archive;
@@ -310,7 +311,7 @@ celix_status_t bundleArchive_getPersiste
 	celix_status_t status = CELIX_SUCCESS;
 	apr_status_t apr_status;
 
-	if (archive->persistentState >= 0) {
+	if (archive->persistentState != BUNDLE_UNKNOWN) {
 		*state = archive->persistentState;
 	} else {
 		apr_file_t *persistentStateLocationFile;

Modified: incubator/celix/trunk/framework/private/src/framework.c
URL: http://svn.apache.org/viewvc/incubator/celix/trunk/framework/private/src/framework.c?rev=1528388&r1=1528387&r2=1528388&view=diff
==============================================================================
--- incubator/celix/trunk/framework/private/src/framework.c (original)
+++ incubator/celix/trunk/framework/private/src/framework.c Wed Oct  2 09:08:43 2013
@@ -680,6 +680,10 @@ celix_status_t fw_startBundle(framework_
 	bundle_getState(bundle, &state);
 
 	switch (state) {
+		case BUNDLE_UNKNOWN:
+			printf("Cannot start bundle since its state is unknown.");
+			framework_releaseBundleLock(framework, bundle);
+			return CELIX_ILLEGAL_STATE;
 		case BUNDLE_UNINSTALLED:
 			printf("Cannot start bundle since it is uninstalled.");
 			framework_releaseBundleLock(framework, bundle);
@@ -877,6 +881,10 @@ celix_status_t fw_stopBundle(framework_p
 		bundle_getState(bundle, &state);
 
 		switch (state) {
+			case BUNDLE_UNKNOWN:
+				printf("Cannot stop bundle since its state is unknown.");
+				framework_releaseBundleLock(framework, bundle);
+				return CELIX_ILLEGAL_STATE;
 			case BUNDLE_UNINSTALLED:
 				printf("Cannot stop bundle since it is uninstalled.");
 				framework_releaseBundleLock(framework, bundle);

Modified: incubator/celix/trunk/framework/public/include/bundle_state.h
URL: http://svn.apache.org/viewvc/incubator/celix/trunk/framework/public/include/bundle_state.h?rev=1528388&r1=1528387&r2=1528388&view=diff
==============================================================================
--- incubator/celix/trunk/framework/public/include/bundle_state.h (original)
+++ incubator/celix/trunk/framework/public/include/bundle_state.h Wed Oct  2 09:08:43 2013
@@ -29,6 +29,7 @@
 
 enum bundleState
 {
+	BUNDLE_UNKNOWN = 0x00000000,
 	BUNDLE_UNINSTALLED = 0x00000001,
 	BUNDLE_INSTALLED = 0x00000002,
 	BUNDLE_RESOLVED = 0x00000004,



Mime
View raw message